先查看MSDN帮助系统,找到socket类,有详细的创建套接字、使用套接字侦听、使用客户端套接字的说明。打开VS.Net2003,新建一个VB.Net工程,名称为Server。在界面上添加一个列表框,两个按钮。界面如图所示:我们使用多线程来实现先导入命名空间:ImportsSystem.Net.socketsImportsSystem.netImportsSystem.TextImportsSystem.Threading定义两个窗体变量DimsAsSocket=NothingDimtAsThread新建一个过程,用于处理接收到的Socket数据包PublicSubWaitData()s=NewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)'''使用TCP协议DimlocalEndPointAsNewIPEndPoint(IPAddress.Parse(127.0.0.1),1024)'''指定IP和Ports.Bind(localEndPoint)'''绑定到该Sockets.Listen(100)'''侦听,考试#大提示最多接受100个连接While(True)Dimbytes(1024)AsByte'''用来存储接收到的字节DimssAsSocket=s.Accept()'''若接收到,则创建一个新的Socket与之连接ss.Receive(bytes)'''接收数据,若用ss.send(Byte()),则发送数据ListBox1.Items.Insert(0,Encoding.Unicode.GetString(bytes))'''将其插入到列表框的第一项之前'''若使用Encoding.ASCII.GetString(bytes),则接收到的中文字符不能正常显示EndWhileEndSub在BtnStart的click事件中,加入如下代码:t=NewThread(AddressOfWaitData)'''建立新的线程t.Start()'''启动线程BtnStart.Enabled=False'''按钮不可用,避免另启线程在BtnStop的click事件中,加入如下代码:Trys.Close()'''关闭Sockett.Abort()'''中止线程CatchFinallyBtnStart.Enabled=True'''启用BtnStartEndTry为了防止用户不点击Stop直接退出,而不能使线程结束,则应在窗体的closing事件中,加入如下代码:Trys.Close()t.Abort()CatchEndTry下面新建一个VB.Net工程,名称为Client。在界面上添加一个文本框,一个按钮。界面如图所示:先导入命名空间:ImportsSystem.Net.socketsImportsSystem.netImportsSystem.Text在BtnSend的click事件中,加入如下代码:TryDimbytes(1024)AsByteDims=NewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)DimlocalEndPointAsNewIPEndPoint(IPAddress.Parse(127.0.0.1),1024)s.Connect(localEndPoint)s.Send(Encoding.Unicode.GetBytes(TextBox1.Text))s.Close()CatchexAsExceptionEndTry这样,这个小程序就完成了,当然可以添加新的功能,使其功能更强大!