回 帖 发 新 帖 刷新版面

主题:winsock  通信出现奇怪问题,请高手解答

private sub ***

dim data(3) as byte
sock1.senddata data
sock2.senddata data
sock3.senddata data

end sub

执行后为什么只有客户端sock3一方才能收到数据,sock1和sock2数据都没有发送出去?sock1、sock2和sock3都是winsock控件,TCP方式,分别针对三个不同客户端连接。如果将sock2.senddata data语句放在最后,则只有sock2成功发送,也就是说只有最后一条语句成功执行。为什么? 如何解决?请赐教

回复列表 (共7个回复)

沙发

这是Winsock控件的Bug.
http://support.microsoft.com/kb/245159
FIX: Winsock 控制 SendData 仅通过最新的连接工作

不过我这里可以给多个发送。我用的winsock数组。
Dim sck As Winsock
For Each sck In Winsock1
    If sck.Index <> 0 Then
        sck.SendData strData
        'DoEvents
    End If
Next
Set sck = Nothing
我用的winsock控件是SP6的,不知道LZ的是不是一样的?

板凳

[quote]This bug was corrected in the latest service pack for Visual Studio 6.0.[/quote]

3 楼

如果没有修正,就需要加上DOEVENTS

4 楼

严重同意 楼上“Winsock 控制 SendData 仅通过最新的连接工作”观点。以前还以为是延时问题,在1数据还没发完毕就发2数据,估计1数据就没有发送完毕。

5 楼

如果问题结束了,建议楼主结贴。

6 楼

寻找一直寻找机会的人!
一个趋势中的趋势的项目!
一个直销和传销终结者的项目!
一个帮助普通创业者成功的项目!
   我们在互联网上正在拓展一个生意项目,现在正在寻求合作伙伴。我们认为成功的关键是你是什么人?还有你和谁在一起。我们在乎的是--您是否是有激情、有梦想的人。有意者请跟我们联系,我们和您谈谈,给您讲解一些生意概念,或许我们可以合作。一个集即时网游、交友,娱乐游戏,网络品牌代理商城,互联网平台项目招商进行中……详情QQ空间资料http://user.qzone.qq.com/909065437/infocenter
网商咨询 摩客天宇QQ 909065437

7 楼

C易特元亨QQ919169870
最新互助式项目。
这是一个互助的模式。
不推广人也有钱赚的。分A B两个网。
不推广的人在A网。推广的人 在B网。
B网推广的人帮助A网。
A网赚取6000元出局。
B网就多了。
详情了解加QQ919169870 
  http://blog.sina.com.cn/s/blog_6b19ec920100liv6.html
C易特奖励制度 
http://blog.sina.com.cn/cyite6
C易特更多资料博客

我来回复

您尚未登录,请登录后再回复。点此登录或注册