title | date | categories | tags | description | ||||
---|---|---|---|---|---|---|---|---|
25.粘包和拆包 |
2020-04-20 |
|
|
|
Nagle算法
https://blog.csdn.net/z69183787/article/details/52980517
将多次间隔较小并且数量较小的数据包,合成一个大的数据快,进行风暴,发送。这样提高效率,但是接收方无法分辨出一个完整的数据包
面向流的是无消息保护边界
需要在接收端处理消息边界问题。这就是粘包拆包
比如 Client 给 Server 发01 和 02两个包
可能出现情况:
1.正确情况
2.01 02 粘在一起了。
3.第一个包 是01+02的一半, 第二个包是02的一半
4.第一个包 是01的部分,第二个包 是01的剩余+02全部
只要不做特殊处理,必出现粘包拆包问题。
自定义协议+编解码器