1. <prename="code"class="vb">服务端:
2. '用 vb.net 做一个简单的聊天工具,可以实现群发的
3. ImportsSystem.Threading
4. ImportsSystem.Net
5. ImportsSystem.Net.Sockets
6.
7. PublicClassForm1
8.
9. DimListenSocketAsNewSocket(AddressFamily.InterNetwork,
SocketType.Stream,ProtocolType.Tcp)'创建监听的套接字
10. DimDictAsNewDictionary(OfString,Socket)'用于保存连接
的客户的套接字的键值对集合
11. DimDictThreAsNewDictionary(OfString,Thread)'用于保存
通信线程的键值对集合
12.
13. PrivateSubButListen_Click(ByValsenderAsSystem.Objec
t,ByValeAsSystem.EventArgs)HandlesButListen.Click'开始监
听的按钮
14. TextBox.CheckForIllegalCrossThreadCalls=False'取消文本
框的跨线程检查
15. DimAddressAsIPAddress=IPAddress.Parse(TxtIP.Text.T
rim)
16. DimEndPointAsNewIPEndPoint(Address,TxtPort.Text)
'创建一个网络节点对象
17. ListenSocket.Bind(EndPoint)'给负责监听的套接字绑定一个网络节
点
18. ListenSocket.Listen(2)
19. ShowMsg("正在监听……")
20. DimthreAsNewThread(AddressOfConnect)'创建一个新的
线程用于处理客户端发来的连接请求
21. thre.IsBackground=True'设为后台线程
22. thre.Start()'开启线程
23. EndSub
24.
25. SubConnect()'处理客户端的连接请求的过程
26. WhileTrue
27. DimSockConectAsSocket=ListenSocket.Accept
28. ShowMsg("连接成功!"&"(连接信息:"&SockConect.Remot
eEndPoint.ToString&")")
29. Dict.Add(SockConect.RemoteEndPoint.ToString,SockCon
ect)'将连接成功的套接字添加到键值对集合
30. LBOnLine.Items.Add(SockConect.RemoteEndPoint.ToStrin
g)'添加到列表