建立连接后不能立刻发送或获取数据,因为在Winsock1.Connect会触发Winsock1.Connect事件,在没有正确返回之前不能进行数据操作。建议单独将建立连接的操作放到一个单独的方法中
- 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
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。