TCP传输过程中丢包问题
生活随笔
收集整理的這篇文章主要介紹了
TCP传输过程中丢包问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
TCP協(xié)議本身是保證傳輸?shù)臄?shù)據(jù)完整性不會丟數(shù)據(jù)的。
如果通信中發(fā)現(xiàn)缺少數(shù)據(jù)或者丟包,
那么,最大的可能在于程序發(fā)送的過程或者接收的過程出現(xiàn)問題。
例如服務(wù)器給客戶端發(fā)大量數(shù)據(jù),Send的頻率很高,
那么就有可能在Send時發(fā)生錯誤(原因可能是又多種,可能是程序處理邏輯問題,多線程同步問題,緩沖區(qū)溢出問題等等)
如果沒有對Send失敗做處理重發(fā)數(shù)據(jù),那么客戶端收到的數(shù)據(jù)就會比理論應(yīng)該收到的少,就會造成丟數(shù)據(jù),丟包的現(xiàn)象。
這種現(xiàn)象,其實本質(zhì)上來說不是丟包,也不是丟數(shù)據(jù),只是因為程序處理有錯誤,導(dǎo)致有些數(shù)據(jù)沒有成功地被socket發(fā)送出去
如果通信中發(fā)現(xiàn)缺少數(shù)據(jù)或者丟包,
那么,最大的可能在于程序發(fā)送的過程或者接收的過程出現(xiàn)問題。
例如服務(wù)器給客戶端發(fā)大量數(shù)據(jù),Send的頻率很高,
那么就有可能在Send時發(fā)生錯誤(原因可能是又多種,可能是程序處理邏輯問題,多線程同步問題,緩沖區(qū)溢出問題等等)
如果沒有對Send失敗做處理重發(fā)數(shù)據(jù),那么客戶端收到的數(shù)據(jù)就會比理論應(yīng)該收到的少,就會造成丟數(shù)據(jù),丟包的現(xiàn)象。
這種現(xiàn)象,其實本質(zhì)上來說不是丟包,也不是丟數(shù)據(jù),只是因為程序處理有錯誤,導(dǎo)致有些數(shù)據(jù)沒有成功地被socket發(fā)送出去
總結(jié)
以上是生活随笔為你收集整理的TCP传输过程中丢包问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MMKV_MMKV使用教程
- 下一篇: 通达信 缠论分笔、分段DLL插件使用说明