您的当前位置:首页正文

vb网络编程实例

来源:个人技术集锦
 电脑爱好者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

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

因篇幅问题不能全部显示,请点此查看更多更全内容