阅读背景:

python socket网络编程之粘包问题详解

来源:互联网 

一,粘包问题详情

1,只有TCP有粘包现象,UDP永远不会粘包

   你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,其实是先把数据从用户态copy到内核态,这样的操作是耗资源和时间的,频繁的在内核态和用户态之前交换数据势必会导致发送效率降低, 因此socket 为提高传输效率,发送方往往要收集到足够多的数据后才发送一次数据给对方。若连续几次需要send的数据都很少,通常TCP socket 会根据优化算法把这些数据合成一个TCP段后一次发送出去,这样接收方就收到了粘包数据。   你的程序实




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: