1,502
社区成员
发帖
与我相关
我的任务
分享
Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Winsock1(Index).State <> 0 Then Winsock1(Index).Close
Winsock1(Index).Accept requestID
Load Winsock1(Index + 1)
Winsock1(Index + 1).LocalPort = 你的端口
Winsock1(Index + 1).Listen
End Sub
Text3.Text = "已经建立连接" 'Text3中修改的数据
Private Sub text1_change() '调用的是Text1的Change时间 Text1就没改变过内容
Winsock1.SendData Text1.Text '发送的是Text1的内容。 Text1内容还是为空(或默认值)
'服务器端代码
Private Sub Command1_Click() '添加一个command的控件
Winsock1.SendData Text3.Text
End Sub
Private Sub Form_Load()
Winsock1.LocalPort = 8888
Winsock1.Listen
End Sub
Private Sub winsock1_connectionrequest(ByVal requestid As Long)
If Winsock1.State <> sckClosed Then
Winsock1.Close
Winsock1.Accept requestid
Text3.Text = "已经建立连接"
End If
End Sub
'客户端代码
Private Sub Form_Load()
Winsock2.RemoteHost = "localhost"
Winsock2.RemotePort = 8888
End Sub
Private Sub cmdconnect_click()
Winsock2.Connect
End Sub
Private Sub winscok2_dataarrival(ByVal bytesTotal As Long)
Dim strdata As String
Winsock2.GetData strdata, vbString
Text2.Text = strdata
End Sub
Private Sub Winsock2_Connect()
cmdconnect.Enabled = False
End Sub
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
Winsock2.GetData strdata, vbString
Text2.Text = strdata
End Sub
Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
'这是处理当前的连接状态,能到这一步,说明这个元素原来是侦听状态了
If Winsock1(Index).State <> 0 Then Winsock1(Index).Close
'让当前的这个元素接受远程的连接
Winsock1(Index).Accept requestID
'既然唯一一个侦听状态的元素都变成连接状态了,那么就没东西侦听新的远程连接请求了
'所以这里新建出一个元素,当然以下的方法是随便写的,在理论上如果当前的元素编号是1
'那么Index+1就是一个新的元素了(不去考虑其他的先)
Load Winsock1(Index + 1) '这里就加载了新的数组元素
'新建了数组元素后,就开始让新的数组元素进入侦听状态了
Winsock1(Index + 1).LocalPort = 你的端口
Winsock1(Index + 1).Listen
End Sub