电脑爱好者1236 Vb 网络编程实例 使用:WinSock TCP协议进行通信 TCP连接要点: 创建客户端应用程序,就必须知道服务端计算机名或者 IP 地址(RemoteHost 属性),还要知道进行“侦听”的端口(RemotePort 属性),然后调用 Connect 方法。 创建服务端应用程序,就应设置一个收听端口(LocalPort 属性)并调用 Listen 方法。当客户计算机需要连接时就会发生 ConnectionRequest 事件。为了完成连接,可调用 ConnectionRequest 事件内的 Accept 方法。 建立连接后,任何一方计算机都可以收发数据。为了发送数据,可调用 SendData 方法。当接收数据时会发生 DataArrival 事件。调用 DataArrival 事件内的 GetData 方法就可获取数据。 基本连接代码: 一个窗体、一个Timer控件,两个WinSock控件,两个Lable控件,两个TextBox Private Sub Command2_Click() Winsock2.SendData Text2.Text '向服务器发送数据 End Sub Private Sub Timer1_Timer() Label1.Caption = GetState(Winsock1.State) Label2.Caption = GetState(Winsock2.State) End Sub Private Function GetState(tmp As Long) As String Select Case tmp Case 0 GetState = "缺省的。关闭" Case 1 GetState = "打开" Case 2 GetState = "侦听" Case 3 GetState = "连接挂起" Case 4 GetState = "识别主机" Case 5 GetState = "已识别主机" Case 6 GetState = "正在连接" Case 7 GetState = "已连接" Case 8 GetState = "同级人员正在关闭连接" Case 9 1 电脑爱好者1236 GetState = "错误" End Select End Function Private Sub Form_Load() Winsock1.LocalPort = 65500 '服务器端口号,最好大于1000 Winsock1.Listen '开始侦听 Winsock2.RemoteHost = "127.0.0.1" '表示服务器主机名 Winsock2.RemotePort = 65500 '表示服务器端口名 Winsock2.Connect '连接到服务器 End Sub Private Sub Form_Unload(Cancel As Integer) Winsock1.Close End Sub Private Sub Winsock1_Close() Winsock1.Close Winsock2.Close End Sub Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) Winsock1.Close Winsock1.Accept requestID '表示客户请求连接的ID号 End Sub Private Sub Winsock2_Close() Winsock2.Close End Sub Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long) Dim s As String Winsock2.GetData s '接收数据到文本框中 Text2.Text = s End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim s As String Winsock1.GetData s '接收数据到文本框中 Text1.Text = s End Sub Private Sub Command1_Click() Winsock1.SendData Text1.Text '向客户发送数据 End Sub 2 本文来源:https://www.wddqw.com/doc/1e1a3dea102de2bd96058830.html