关于TCP粘包的拙见
生活随笔
收集整理的這篇文章主要介紹了
关于TCP粘包的拙见
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
本文主要概述TCP粘包的原因和如何解決TCP粘包的問題。
TCP粘包原因
由于TCP是字節流傳輸協議,又沒有保護邊界,傳輸過程中為了提高傳輸效率,其采用了一種優化方式,將發送時間間隔小數據量小的一起存入發送緩存區再發送,由于沒有保護邊界,故而會出現數據的粘包。
解決TCP粘包
1.傳輸的時候不讓其進行優化,以降低傳輸效率為代價,但是這種目前我不知該如何操作;
2.在應用層進行數據解析,傳輸的數據定義的時候定義消息頭,消息長度,消息結束標志等,按照消息的格式解析讀取的消息。
UDP不會粘包
由于UDP是數據包傳輸協議,其含有消息保護邊界,在發送每一包消息的時候,會進行處理,加上消息頭,其次UDP發送數據的時候不使用優化算法來發送,接收端采用鏈式結構來存儲接收的數據包。
總結
以上是生活随笔為你收集整理的关于TCP粘包的拙见的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android ui怎么用ps切图,怎样
- 下一篇: BugkuCTF-Reverse题Saf