网络通信设计

网络通信协议设计

1 粘包问题

粘包就是连续向对端发送两个或者两个以上的数据包,对端在一次收取中收到的数据包数量可能大于1个,当大于1个时,可能是几个(包括一个)包加上某个包的部分,或者干脆几个完整的包在一起。当然,也可能收到的数据只是一个包的部分,这种情况一般也叫作半包。
粘包问题示意:
粘包问题示意
解决办法:

  1. 固定包长的数据包
  2. 以指定的字符(串)为包的结束标志位
  3. 包头+包体格式:包头是固定大小的,且包头必须包含一个字段来说明接下来的包体有多大。
posted @ 2022-02-17 14:06  lihaihui199102  阅读(88)  评论(0编辑  收藏  举报