建立连接后不能立刻发送或获取数据,因为在Winsock1.Connect会触发Winsock1.Connect事件,在没有正确返回之前不能进行数据操作。建议单独将建立连接的操作放到一个单独的方法中
建立完连接后需关闭连接才能进行数据操作
以上两段代码可以放到Initialize方法中。
在有数据到达时使用Winsock1_DataArrival事件自动抓取数据。
Function Winsock1_init(ip As String, port As Long)
Winsock1.RemoteHost = ip
Winsock1.RemotePort = port
Winsock1.Connect
End Function
建立完连接后需关闭连接才能进行数据操作
If Winsock1.State <> sckClosed Then Winsock1.Close
以上两段代码可以放到Initialize方法中。
在有数据到达时使用Winsock1_DataArrival事件自动抓取数据。
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Data() As Byte
Winsock1.GetData Data
'解析DATA()数据---
End Sub