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