-
<pre name="code" class="vb">服务端:
'用vb.net做一个简单的聊天工具,可以实现群发的
Imports System.Threading
Imports System.Net
Imports System.Net.Sockets
Public Class Form1
Dim ListenSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) '创建监听的套接字
Dim Dict As New Dictionary(Of String, Socket) '用于保存连接的客户的套接字的键值对集合
Dim DictThre As New Dictionary(Of String, Thread) '用于保存通信线程的键值对集合
Private Sub ButListen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButListen.Click '开始监听的按钮
TextBox.CheckForIllegalCrossThreadCalls = False '取消文本框的跨线程检查
Dim Address As IPAddress = IPAddress.Parse(TxtIP.Text.Trim)
Dim EndPoint As New IPEndPoint(Address, TxtPort.Text) '创建一个网络节点对象
ListenSocket.Bind(EndPoint) '给负责监听的套接字绑定一个网络节点
ListenSocket.Listen(2)
ShowMsg("正在监听……")
Dim thre As New Thread(AddressOf Connect) '创建一个新的线程用于处理客户端发来的连接请求
thre.IsBackground = True '设为后台线程
thre.Start() '开启线程
End Sub
Sub Connect() '处理客户端的连接请求的过程
While True
Dim SockConect As Socket = ListenSocket.Accept
ShowMsg("连接成功!" & "(连接信息:"