随笔分类 - 网络
发表于 2024-11-04 16:24阅读:20评论:0推荐:0
摘要:形成粘包的原因有两方面 发送方: 默认使用了Nagle算法, Nagle算法会收集多个分组一起发送导致粘包 接收方: 接收方存在缓存,当读取速度过慢会导致堆积读取时发生粘包 解决的话 发送方可以使用TCP_NODELAY关闭算法 接收方的话需要应用层来处理根据长度来切割粘包,并缓存切割剩下的包头.
阅读全文 »
发表于 2024-11-04 16:14阅读:11评论:0推荐:0
摘要:四次挥手是因为被中断方需要把没有发完的数据继续发完,然后才能发起中断. 所以比三次挥手要多发一次消息,挥手的时候是因为没有数据所以ACK和SYNC请求合并成了一个. 等待2MSL时间,是为了避免FIN或者FIN_ACK干扰下一次连接,2倍是因为考虑到最后一次服务端FIN包丢失,导致被中断方重发FIN
阅读全文 »