网络编程-粘包
粘包問題的產生
TCP流式協議
基于數據流的協議
接收方產生粘包問題
1.接收方不清楚數據有多長只接收了數據的一部分
2.接收方多讀取了數據
發送方產生的粘包問題
操作系統沒有及時發送前一次的數據,導致兩次數據粘在一起
粘包問題的根本原因是接收方不清楚數據的長度
TCP nigle 優化機制
如果多次發送數據的數據量小并且時間間隔短,會把這一堆數據集在一起一次性發送,目的是為了降低網絡傳輸次數
?
解決粘包
核心思路是先通知接收方,要發送的數據的長度,在發送真實的數據
UDP
基于數據報的傳輸協議,不會發生粘包問題
因為數據是以報文的形式存在,每次發送都是以數據報的形式
對方接收的也是一個個數據包
?
struct模塊
將一個數據處理成固定長度的二進制
?
轉載于:https://www.cnblogs.com/LinChengcheng/p/10458341.html
總結
- 上一篇: 周庄门票多少钱
- 下一篇: [Linux] 010 权限管理命令 c