3. 什么是 TCP 拆包和粘包?为什么会出现?

TCP 粘包:

  • 发送端:一个数据包中包含了发送端发送的两个数据包的信息
  • 接收端:接收的数据包接收到了两个数据包,两个数据包多出了一块

TCP 拆包:

  • 发送端:发送的一个数据包不完整

出现的原因是:

  • TCP 面向字节流,数据块间是五结构的字节流,没有边界
  • TCP 首部没有表示数据长度的字段,比较不好区分块的区别

解决方案:

  • 特殊字符串控制
  • 在包首部添加数据包的长度字段
全部评论

相关推荐

头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务