asp.net socket的執行個體

來源:互聯網
上載者:User

asp教程.net socket的執行個體

imports system.net.sockets
imports system.net
imports system.text
imports system.threading

public class frmserver
    dim s as socket = nothing
    dim t as thread

    public sub waitdata()
        s = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp) '使用tcp協議
        dim localendpoint as new ipendpoint(ipaddress.parse("192.168.1.6"), 1024) '指定ip和port
        s.bind(localendpoint)  '綁定到該socket
        s.listen(100)  '偵聽,最多接受100個串連
        while (true)
            dim bytes(1024) as byte '用來儲存接收到的位元組
            dim ss as socket = s.accept() '若接收到,則建立一個新的socket與之串連
            ss.receive(bytes)  '接收資料,若用ss.send(byte()),則發送資料

            dim str = encoding.unicode.getstring(bytes)
            lstmessage.items.insert(0, str) '將其插入到列表框的第一項之前
            select case str
                case "listuser"
                    str = "listuserok"
            end select

            bytes = encoding.unicode.getbytes(str)
            ss.send(bytes)
            ss.close() '=============這裡需要用close關閉嗎?
              '可能我問的問題比較初級呵呵... 下一個問題是用戶端應該怎麼接收?
        end while
    end sub

    private sub btnstart_click(byval sender as system.object, byval e as system.eventargs) handles btnstart.click
        t = new thread(addressof waitdata) '建立新的線程
        t.start()  '啟動線程
        btnstart.enabled = false
    end sub

    private sub btnend_click(byval sender as system.object, byval e as system.eventargs) handles btnend.click
        try
            s.close()  '關閉socket
            t.abort()  '中止線程
        catch
        finally
            btnstart.enabled = true '啟用btnstart
        end try
    end sub

    private sub frmserver_formclosing(byval sender as object, byval e as system.windows.forms.formclosingeventargs) handles me.formclosing
        try
            s.close()
            t.abort()
        catch
        end try
    end sub
end class

//執行個體二

dim s as socket = nothing
    dim t as thread

    public sub waitdata()
        s = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp) '使用tcp協議
        dim localendpoint as new ipendpoint(ipaddress.parse("192.168.1.6"), 1024) '指定ip和port
        s.bind(localendpoint)  '綁定到該socket
        s.listen(100)  '偵聽,最多接受100個串連
        while (true)
            dim bytes(1024) as byte '用來儲存接收到的位元組
            dim ss as socket = s.accept() '若接收到,則建立一個新的socket與之串連
            ss.receive(bytes)  '接收資料
            dim str=encoding.unicode.getstring(bytes)

          '=========================================
            '處理資料
            str="xxx|xxx"
          '請問然後怎麼將處理過後的資料發回給用戶端
            '=========================================
           
        end while
    end sub

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.