|
一、设定端口号、开始侦听
[创建服务器]
要创建服务器,首先设定一个服务端口号,并开始侦听是否有客户请求连接。
向窗体增加一个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
|