vb用winsock做的服务端有时候出现40006错误

我用winsock控件数组做的服务端,一般情况下可以和客户端正常的接收发送数据,但是有时候服务端会出现“错误'40006':所需事物或请求的错误协议或连接状态”的错误,我... 我用winsock控件数组做的服务端,一般情况下可以和客户端正常的接收 发送数据,但是有时候服务端会出现“错误 '40006': 所需事物或请求的错误协议或连接状态”的错误,我百度了下知道是因为双方的连接没有正确连接客户端就发送了数据,而我的客户端也是先connect然后senddata的 ,如何有效解决这个问题呢?谢谢 展开
 我来答
golden_yi
2008-08-26 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:151万
展开全部
用TCP发送消息.就必须先于对方建立连接,对方必须先同意,才能发送消息

在窗体模块的最上面加上API声明
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

在第一次senddate之前加上:

Dim i As Long
Do Until Winsock1.State = 7 Or i > 600
i = i + 1
DoEvents
Sleep
Loop

If i >= 600 Or Winsock1.State = 7 Then
' 1分钟后,对方仍然未同意,连接超时.
End If

再进行senddate
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式