TCP网络传输“粘包”问题研究

(整期优先)网络出版时间:2003-03-13
/ 1
当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的Socket应用开发编程接口(API).TCP/IP传输层有两上并列的协议:TCP和UDP.其中TCP(TransportControlProtocol,传输控制协议)是面向连接的,提供高可靠性服务.UDP(UserDatagramProtocol,用户数据报协议)是无连接的,提供高效率服务.在实际工程应用中,对可靠性和效率的选择取决于应用的环境和需求.一般情况下,普通数据的网络传输采用高效率的UDP,重要数据的网络传输采用高可靠性的TCP.在应用开发过程中,笔者发现基于TCP网络传输的应用程序有时会出现粘包现象(即发送方发送的若干包数据到接收方时粘成一包).针对这种情况,我们进行了专题研究与实验.本文重点分析了TCP网络粘包问题,并结合实验结果提出了解决该问题的对策和方法.