191 字
1 分钟
TCP 丢包、粘包和拆包是什么
TCP 丢包是指数据报文在网络传输过程中丢失,TCP 会通过序列号、确认应答和重传机制等保证数据可靠、有序地传输。
TCP 粘包和拆包则是 TCP 字节流传输的特点导致的。粘包是指多条应用层消息的数据可能被一次读取到;拆包是指一条完整消息可能需要多次才能读取完整。
根本原因是 TCP 是面向字节流的协议,不保留应用层消息边界。
解决粘包和拆包的常见方式有固定长度、分隔符和消息头携带长度。在 Java 网络编程中,也可以使用 Netty 提供的解码器处理消息边界问题。