http://download.csdn.net/detail/foreverhero/2267433
這是控制元件的下載地址,當多條訊息同時請求,收到訊息后比如收到的是"123",然后給所有在線用戶發送"456",就好比群聊吧,這時候會有問題(多條請求的時候,也就是多執行緒的時候,我的處理函式加了臨界,我也確定沒有問題,本來應該給客戶端1發送"XXX1,XXX2,XXX3,XXX4",比如是發送4次,他可能會連起來一次發送,這到是沒什么,但是有時候,資料都不對,可能會變成"XXX1XXX1XXX1XXX1",每條內容一樣了,也是合并起來,一次就發送了),希望哪大牛能幫忙看看,聯系作者也聯系不上,不理我

我懷疑是哪里改加臨界的沒有加,或者是緩沖區的問題,我是小白,我也說不清楚,希望哪位大牛能幫忙看看 ,花費不了您多少時間的,感謝啦,有興趣看看的可以加我Q:627464,我發我的測驗代碼給你,你可能立馬就能找到問題所在,但我確不行.....10多20天了,都沒解決
uj5u.com熱心網友回復:
QQ上都給你說了要粘包,你不信有什么辦法...uj5u.com熱心網友回復:
關注下。有空的時候,幫你解決uj5u.com熱心網友回復:

什么時候有空呢?
uj5u.com熱心網友回復:
又找到個新問題,如果在每次需要FOR回圈發送資料前 先SLEEP(20)毫秒 那么就沒有什么問題了 雖然偶爾還是有粘包的情況,但是至少資料是正確的如果不在FOR回圈發送前SLEEP20 那么客戶端收到的資料 粘包很嚴重 要粘N多條,而且所有資料都會變成最后發送的那條
比如本來發送的是第一條:XXX1,第二條:XXX2,第三條:XXX3,第四條:XXX4
而客戶端收到的就是:XXX4XXX4XXXX4XXX4
這是什么原因呢?
uj5u.com熱心網友回復:
用TCP協議通訊都需要考慮粘包問題,這個需要通過協議來解決,可以參考這個:http://blog.csdn.net/sqldebug_fan/article/details/7907765uj5u.com熱心網友回復:
問一下,短連接需要考慮粘包嗎?uj5u.com熱心網友回復:
短連接也要考慮粘包uj5u.com熱心網友回復:
粘包與短連接,長連接無關,網路通信中必須處理粘包問題,我在開發IOCP的時候,粘包的代碼寫了好多好多uj5u.com熱心網友回復:
粘包處理屬于應用邏輯,控制元件件無能無力。要寫稍微復雜點的網路程式,尤其是要應用IOCP等異步技術,需要牢固的編程基礎的。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/140820.html
標籤:網絡通信/分布式開發
