如果客户端有多个,那么服务器接收端要用控件数组,根据服务器接收数据时,返回的控件数组索引值,来加以判断回复特定消息:(例子如下)Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim Message As String Dim PC_Num As Integer PC_Num = Index On Error GoTo By Winsock1(PC_Num).GetData Message Select Case PC_Num Case Is = 1 '192.168.0.1发来的消息 …… Case Is = 2 '192.168.0.2发来的消息 …… Case Is = 3 '192.168.0.3发来的消息 …… Case Is = 4 '192.168.0.4发来的消息 …… End Select '或根据消息内容回复 Select Case Message Case Is = "" …… Case Is = "" …… Case Is = "" …… End Select Winsock1(PC_Num).SendData SendMessage$ By: Exit Sub End Sub
多谢楼上的大哥!!! 可是我的vb.net中没有这个事件 它的这个事件是这样的 Private Sub AxWinsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles AxWinsock1.DataArrival End Sub 那位打下帮忙啊?
Dim Message As String
Dim PC_Num As Integer
PC_Num = Index
On Error GoTo By
Winsock1(PC_Num).GetData Message
Select Case PC_Num
Case Is = 1
'192.168.0.1发来的消息
……
Case Is = 2
'192.168.0.2发来的消息
……
Case Is = 3
'192.168.0.3发来的消息
……
Case Is = 4
'192.168.0.4发来的消息
……
End Select
'或根据消息内容回复
Select Case Message
Case Is = ""
……
Case Is = ""
……
Case Is = ""
……
End Select
Winsock1(PC_Num).SendData SendMessage$
By:
Exit Sub
End Sub
可是我的vb.net中没有这个事件
它的这个事件是这样的
Private Sub AxWinsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles AxWinsock1.DataArrival
End Sub
那位打下帮忙啊?