粘包问题原因和解决方法

形成粘包的原因有两方面

  1. 发送方: 默认使用了Nagle算法, Nagle算法会收集多个分组一起发送导致粘包
  2. 接收方: 接收方存在缓存,当读取速度过慢会导致堆积读取时发生粘包

解决的话

发送方可以使用TCP_NODELAY关闭算法

接收方的话需要应用层来处理根据长度来切割粘包,并缓存切割剩下的包头.

posted @ 2024-11-04 16:24  侯佳奇  阅读(39)  评论(0)    收藏  举报