比如recv(300) 设置接收300个字节
但是数据有350个字节
第一次接收300个字节之后 还有50个字节放在了输入缓冲区中
下次再执行send时 只是接收了上次存在缓冲区中的50个字节
两种粘包现象
- send数据过大时, 大于recv设置的字节, 第二次只接收上一次缓冲区剩余的数据
- 连续send数据过小时, recv可能接收全部数据或者粘一部分
比如recv(300) 设置接收300个字节
但是数据有350个字节
第一次接收300个字节之后 还有50个字节放在了输入缓冲区中
下次再执行send时 只是接收了上次存在缓冲区中的50个字节
两种粘包现象