Netty学习(二)- TCP粘包与解析
发布时间
阅读量:
阅读量
一、TCP 粘包/拆包介绍
1、什么是粘包、拆包
首先,唯有TCP数据传输过程中才可能出现粘包或拆包的问题。假定客户端依次向服务器发送两个数据包D1与D2,由于TCP作为面向流的协议,其将客户端传来的数据视为连续的、无结构的字节流,而服务器每次读取到的数据量无法确定,因此可能出现以下几种情形。 (1)服务器分别接收D1与D2两个数据包,未出现粘包或拆包的情况。

(2)服务端在同一时间接收到了两个数据包,D1与D2相互连接,从而引发了TCP粘包现象。例如,客户端首次传输的信息为"Hello,Netty",随后发送的数据内容为"Time out",在出现粘包的情况下,这两段信息将被合并为"Hello,NettyTime out"一同传送到服务端。

(3)服务端将分两个阶段进行数据读取,第一阶段读取完整的D1包以及部分D2包内容;第二阶段则
全部评论 (0)
还没有任何评论哟~
