netty粘包和拆包的解释

93 阅读1分钟
  1. 为什么会有粘包和拆包
   TCP连接是面向连接和流的,可靠的,收发两端都要有一一成对的socket,发送端为了将多个发给接收
   端的包,更有效的发给对方,使用了优化算法Nagle算法,就是将多次间隔较小且数据量小的数据合并
   成一个大的数据块,然后进行封包,这样虽然提高了效率,但是接收端难于分辨出完整的数据包了,因
   为面向流的通信是无消息保护边界的
  1. solution
    使用自定义协议 + 编解码器来确定报文的边界