在VB6.0環境下,使用Winsock用UDP協議傳輸資料,資料量大了出現如下錯誤:
實時錯誤 '10035':
套接字不成塊,指定的操作將分塊
資料量超過8192位元組(大約有50000位元組),所以已經做了分塊發送。使用回圈分塊發送資料,但是發送一些資料后就報錯了。
查了一些資料說回圈發送速度太快了,前面的資料還沒發出去,所以產生錯誤。我嘗試了用Timer來發送,但是這樣的效率太慢了。
請問有什么辦法解決這個錯誤。我的目的是把這些資料廣播出去,因為TCP協議不能廣播,否者的話TCP倒是能很好的發送。
請問有沒有做過廣播的,用的是什么方法,請指點一下。
uj5u.com熱心網友回復:
SendComplete事件試過沒?uj5u.com熱心網友回復:
UDP協議不會觸發SendComplete、SendProgress事件。都是UDP是不可靠協議,感覺這也太不可靠了,不管不顧。VB6.0還有什么好有的網路控制元件么?能廣播資料的。uj5u.com熱心網友回復:
你難道不會自己控制發送的頻率、帶寬、反饋、……打電話的時候,你難道只管自說自話不聽對方說啥?
uj5u.com熱心網友回復:
1、把資料塊再分小一些22、把所有發送任務分布到多個 SOCKET 發送
uj5u.com熱心網友回復:
廣播一般都發小資料,接收到廣播的終端反饋給服務端,服務端再用比較復雜的協議(比如有應答反饋的UDP或干脆用TCP)和終端通訊。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/48534.html
標籤:網絡編程
