VB编程-TCPIP编程
一、 设定端口号、开始侦听
我们可以使用控件数组创建多客户服务器,达到多个客户同时连接到服务器。向窗体增加一个WinSock控件,修改其Name属性为SockServer,修改Index属性为0。
在窗体的Load事件中增加如下代码:
SockServer(0).LocalPort=2000
SockServer(0).Listen
数组控件0始终处于侦听状态。
二、 接收客户连接请求
在ConnectionRequest事件中首先加载一个Socket控件,再用它来接收连接。
Dim SockNum As Integer
SockNum=0
Sub SockServer_ConnectionRequest(...)
SockNum=SockNum+1
Load SockServer(SockNum)
SockServer(SockNum).Accept requestID
三、 接收客户发送的数据 和 向客户发送的数据
,接收客户发送的数据,
在DataArrival事件中将多一个Index参数,用于表示哪一个控件接收到了数据。
Sub SockServer_DataArrival(Index As Integer,ByVal bytesTotal As Long)
Dim s As String
SockServer(Index).GetData s
End Sub
,向客户发送的数据,
哪一个控件需要发送,只需加上数组下标。
SockServer(n).SendData Text1.Text
四、 响应客户关闭 和 主动关闭连接
,响应客户关闭,
同样在Close事件中也会增加Index参数表示哪一个连接关闭。
Sub SockServer_Close(Index As Integer)
SockServer(Index).Close
End Sub
,主动关闭连接,
哪一个连接需要主动关闭,只需增加数组下标。
SockServer(n).Close
TCP/IP协议是Internet网最重要的协议,VisualBasic5.0/6.0提供了WinSock控件用于在TCP/IP的基础上进行网络通信。
当两个应用程序使用Socket进行网络通信时,其中一个必需创建Socket服务器侦听,而另一个必需创建Socket客户去连接服务器。这样,两个程序就可以进行通信了。
一、设定端口号、开始侦听
,创建服务器,
要创建服务器,首先设定一个服务端口号,并开始侦听是否有客户请求连接。
向窗体增加一个WinSock控件,并修改其Name属性为SockServer。在窗体的Load事件中增加如下代码:
SockServer.LocalPort = 2000
SockServer.Listen
,其中:,
LocalPort 属性为服务器端口号,最好大于1000,避免冲突。对于众所周知的端口号我们称之为周知口。例如:端口80专用于Web服务。
Listen 方法开始侦听。
二、接收客户连接请求
当客户连接到本服务器时,产生ConnectionRequest事件,在事件中接收客户的请求。
Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServer.Close
SockServer.Accept requestID
End Sub
其中:
requestID 参数表示客户请求连接的ID号。
Accept 方法接收一个请求连接。
三、接收客户发送数据
当客户向本服务器发送数据到达后,产生DataArrival事件,在事件中接收数据。
Sub SockServer_DataArrival(ByVal bytesTotal As Long)
Dim As String
SockServer.GetData s
End Sub
其中:
bytesTotal 参数表示收到数据的总数。
GetData 方法接收数据。
四、向客户发送数据
当我们需要向客户发送数据时只需要调用SendData方法。
,例如:,
在按下Send按钮时发送数据。
Private Sub Command1_Click()
SockServer.SendData Text1.Text
End Sub
,其中:,
SendData 方法发送数据。
五、响应客户关闭连接
当客户关闭连接时,服务器会产生Close事件。在事件中关闭当前连接。从新开始侦听。
Private Sub SockServer_Close(Index As Integer)
SockServer.Close
SockServer.Listen
End Sub
其中:
Close 方法关闭连接。
六、主动关闭连接
当然,服务器也可以主动调用Close方法关闭连接。
,例如:,
在窗体关闭时关闭连接。
Sub Form_Unload(Cancel As Integer)
SockServer.Close
End Sub
一、设定服务器主机名、端口号、开始连接
,创建客户连接服务器,
要创建客户连接服务器,首先设置服务器主机名,如:IP地址,域名或计算机名,然后设置服务端口号,最后连接到服务器。
向窗体增加一个WinSock控件,并修改其Name属性为SockClient。
在Connect按钮事件中增加如下代码。
SockServer.RemoteHost = Text2.Text
SockServer.RemotePort = Clnt(Text3.Text)
SockServer.Connect
其中:
RemoteHost 属性表示服务器主机名。
RemotePort 属性表示服务器端口号
Connect 方法连接到服务器。
二、响应服务器关闭连接
Private Sub SockClient_Close(Index As Integer)
SockClient.Close
End Sub