TCP通訊丟包原因總結,tcp通訊包原因

來源:互聯網
上載者:User

TCP通訊丟包原因總結,tcp通訊包原因

   今天在公司問老大,公司的項目底層,是使用的TCP,因為可靠,自動斷線重連,在底層都實現了,但是我記得TCP也會有掉包的問題,所以這文章就誕生了——關於TCP掉包的問題,TCP是基於不可靠的網路實現可靠的傳輸,肯定也會存在掉包的情況。

    如果通訊中發現缺少資料或者丟包,那麼,最大的可能在於程式發送的過程或者接收的過程出現問題。
    例如伺服器給用戶端發大量資料,Send的頻率很高,那麼就有可能在Send時發生錯誤(原因可能是又多種,可能是程式處理邏輯問題,多線程同步問題,緩衝區溢位問題等等),如果沒有對Send失敗做處理重發資料,那麼用戶端收到的資料就會比理論應該收到的少,就會造成丟資料,丟包的現象。    這種現象,其實本質上來說不是丟包,也不是丟資料,只是因為程式處理有錯誤,導致有些資料沒有成功地被socket發送出去。     常用的解決方案如下:拆包、加包頭、發送,組合包,如果用戶端、服務端掉線,常採用心跳測試。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.