文章目录
引言
- TCP消息完整性校验,如果校验通过,可回复给服务端,方便服务端对失败的消息进行重发。
- 处理粘包和半包问题的解决方案
解决粘包问题的核心在于明确数据包的边界。无论是通过固定长度、消息头还是特殊分隔符,其本质都是在应用层对数据进行分帧处理,确保接收方能够正确解析出每个独立的数据包
I 处理TCP粘包和半包问题
背景
粘包和半包问题是由于 TCP 协议的特性导致的。
TCP 是一种面向字节流的协议,它并不关心上层应用发送的数据包的实际边界
。因此,接收方可能会接收到不完整的消息(半包)或多条消息的组合(粘包)。
粘包问题的产生原因
- 发送方行为:发送方连续发送多组数据,而这些数据在传输过程中可能被合并为一个较大的数据块。
- 接收方缓存:接收方的应用程序从缓存中读取数据的速度慢于