在VB6.0环境下,使用Winsock用UDP协议传输数据,数据量大了出现如下错误:
实时错误 '10035':
套接字不成块,指定的操作将分块

数据量超过8192字节(大约有50000字节),所以已经做了分块发送。使用循环分块发送数据,但是发送一些数据后就报错了。
查了一些资料说循环发送速度太快了,前面的数据还没发出去,所以产生错误。我尝试了用Timer来发送,但是这样的效率太慢了。
请问有什么办法解决这个错误。我的目的是把这些数据广播出去,因为TCP协议不能广播,否者的话TCP倒是能很好的发送。
请问有没有做过广播的,用的是什么方法,请指点一下。

解决方案 »

  1.   

    SendComplete事件试过没?
      

  2.   

    UDP协议不会触发SendComplete、SendProgress事件。都是UDP是不可靠协议,感觉这也太不可靠了,不管不顾。VB6.0还有什么好有的网络控件么?能广播数据的。
      

  3.   

    1、把数据块再分小一些2
    2、把所有发送任务分布到多个 SOCKET 发送
      

  4.   

    广播一般都发小数据,接收到广播的终端反馈给服务端,服务端再用比较复杂的协议(比如有应答反馈的UDP或干脆用TCP)和终端通讯。