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
1
电脑爱好者1236
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
2
电脑爱好者1236
GetState = \"连接挂起\"
Case 4
GetState = \"识别主机\"
Case 5
GetState = \"已识别主机\"
Case 6
GetState = \"正在连接\"
Case 7
GetState = \"已连接\"
Case 8
GetState = \"同级人员正在关闭连接\"
Case 9
GetState = \"错误\"
3
电脑爱好者1236
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
4
电脑爱好者1236
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)
5
电脑爱好者1236
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
6
因篇幅问题不能全部显示,请点此查看更多更全内容