udp丢包。具体情况,内详。谢谢大大!
时间:2011-12-01
来源:互联网
情况如下:
udp报文,在收端,抓包工具可以抓到,但应用程序收不到(100个包收不全,收到部分)
这是win下的情况。换成linux下,同样程序,没问题,都可以收到包。
win下收不全的时候,打印,每一个包的长度,都和发端保持一致。也就是不存在粘包现象。
不知道,这是怎么回事呢?
包的大小和数量,都不算大。不存在什么性能瓶颈问题。
抓包工具查看,ip的checksum正常。 udp的checksum 显示为invalidation disabled。 但是我用的是raw socket,应该不存在系统给我丢的情况吧?
不知道。大家说说咋回事。
谢谢!
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的缓冲大小
尽可能在接收线程只接收数据,然后放到缓冲, 数据处理用另外线程,
根本原因在于接受部分的处理速度太慢, 缓冲太小导致的
可以适当加大些soket的缓冲大小
尽可能在接收线程只接收数据,然后放到缓冲, 数据处理用另外线程,
作者: zzz3265 发布时间: 2011-12-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28