粘包
发送端 发送数据 > 接收端 接收的数据 造成接收端缓存溢出 发送端无法发送数据 网络阻塞
这个缓冲区是操作系统底层实现的
解决办法:
我们尽可能的把缓冲区的数据读取出来, (用我们自己的代码把, 缓冲数据读取到我们自己的buf里面);
少包
发送的消息不足以是一个消息数据包(收到的消息 < 定义数据包的长度)
定义一个足够大的buf, 如果收到数据 >= 定义的数据包的长度 处理我们的消息, 并且把buf中以处理的
数据清理掉, 并重置buf偏移;
粘包
发送端 发送数据 > 接收端 接收的数据 造成接收端缓存溢出 发送端无法发送数据 网络阻塞
这个缓冲区是操作系统底层实现的
解决办法:
我们尽可能的把缓冲区的数据读取出来, (用我们自己的代码把, 缓冲数据读取到我们自己的buf里面);
少包
发送的消息不足以是一个消息数据包(收到的消息 < 定义数据包的长度)
定义一个足够大的buf, 如果收到数据 >= 定义的数据包的长度 处理我们的消息, 并且把buf中以处理的
数据清理掉, 并重置buf偏移;