+ -
当前位置:首页 → 问答吧 → udp丢包。具体情况,内详。谢谢大大!

udp丢包。具体情况,内详。谢谢大大!

时间:2011-12-01

来源:互联网

情况如下:
udp报文,在收端,抓包工具可以抓到,但应用程序收不到(100个包收不全,收到部分)
这是win下的情况。换成linux下,同样程序,没问题,都可以收到包。

win下收不全的时候,打印,每一个包的长度,都和发端保持一致。也就是不存在粘包现象。

不知道,这是怎么回事呢?
包的大小和数量,都不算大。不存在什么性能瓶颈问题。

抓包工具查看,ip的checksum正常。 udp的checksum 显示为invalidation disabled。 但是我用的是raw socket,应该不存在系统给我丢的情况吧?

不知道。大家说说咋回事。

谢谢!

作者: wzj198111130034   发布时间: 2011-12-01

win下收不全的时候,打印,每一个包的长度,都和发端保持一致。 不明白 ? 既然收不全 哪来的 包长度??

作者: dhbfly   发布时间: 2011-12-01

udp不保证不丢包啊。

作者: rongrong0538   发布时间: 2011-12-01

其实UDP在一般网络环境丢包率是很少的, 在实际应用过程中丢包可能会很严重
根本原因在于接受部分的处理速度太慢, 缓冲太小导致的

可以适当加大些soket的缓冲大小
尽可能在接收线程只接收数据,然后放到缓冲, 数据处理用另外线程,

作者: zzz3265   发布时间: 2011-12-01