# TCP粘包

2019-09-10 11:38:59 浏览数 (1)

# TCP粘包

# Socket通信-TCP粘包

# 什么是TCP粘包

当前消息与前一个后/后一个消息的片段一起发送到了客户端。

# 为什么会粘包

  1. 操作系统为了优化传输速度会将小包合并发送,大包拆分发送的情况。
  2. 由于网卡传输接口大小的限制。

# 解决办法

# 1. 固定长度分割

每次发送固定长度的消息,长度不足时补0。

# 2. 分隔符分割

使用分隔符分割消息,比如:rrn@@$$等,定义一个特殊的字符用来分割消息。

# 3. 自定义消息头分割

消息开头固定n个字节用来记录消息的长度。

# 总结

tcp通信时常见的难点就在于粘包的处理,只要掌握常用的处理办法就可以轻松驾驭tcp了。

0 人点赞