社区
网络及通讯开发
帖子详情
UDP接收大量数据,如何避免或减少掉包???
vbcrack
2007-08-01 12:44:46
如题:程序应用于Windows下
方法1:设置接收缓冲区的大小;在缓冲区被写满后提交系统消息;
方法2:发送UDP大包;
方法3:暂时未想到^-^;
请指教!
...全文
1409
14
打赏
收藏
UDP接收大量数据,如何避免或减少掉包???
如题:程序应用于Windows下 方法1:设置接收缓冲区的大小;在缓冲区被写满后提交系统消息; 方法2:发送UDP大包; 方法3:暂时未想到^-^; 请指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BCBPLC
2008-08-05
打赏
举报
回复
用主/从应答方式通讯一问一答就不会丢包,
丢包的原因:一方单厢情愿的大量发送,另一边来不及处理,
要双方一问一答和谐的通讯;
vbcrack
2007-08-12
打赏
举报
回复
压缩算法??
能具体一点吗
MEFULEU
2007-08-03
打赏
举报
回复
压缩算法~
vbcrack
2007-08-03
打赏
举报
回复
有更好,更实际的解决办法吗??
等待……
ERR0RC0DE
2007-08-02
打赏
举报
回复
>>猜想是因为接收的UDP包数量太多,让系统忙不过来
我觉得是这个原因。最好的方法是将优化或改良收到包后的处理,或者说收包后压栈,让其它线程去处理这些包。
>>所以想通过修改接收缓冲区,让多个UDP包收到后才通知系统来取出接收缓冲区的数据,这样就可以提高接收的效率,不知道是否可行???
也是个方法,不过个人觉得这个不能解决最终问题。
wanglovec
2007-08-02
打赏
举报
回复
方法1 : 缓冲区 开大点
方法2: 用一个高优先级的 线程来专门接受
wanglovec
2007-08-02
打赏
举报
回复
来不及接受 就被覆盖掉了
vbcrack
2007-08-01
打赏
举报
回复
从系统的效率来看,怎么做比较合理??
在windows下,可以增大接收缓冲区来减少系统消息的开销,提高接收的效率吗?
i_love_pc
2007-08-01
打赏
举报
回复
UDP包的长度不宜过大
我不懂电脑
2007-08-01
打赏
举报
回复
在局域网内,一般UDP效果还是不错的。
constantine
2007-08-01
打赏
举报
回复
有一种可能,你的缓冲区太小,数据还没接收就给你新的数据覆盖了
另512太小了
MPTD_Fire
2007-08-01
打赏
举报
回复
提高硬件性能
vbcrack
2007-08-01
打赏
举报
回复
发送端:我用timer和for来不断的发送512字节的UDP包
接收端:怎么来提高接收的效率,用sniffer可以看到发送的包都到达了接收端PC,但我的接收端程序却不能全部收到,猜想是因为接收的UDP包数量太多,让系统忙不过来,所以想通过修改接收缓冲区,让多个UDP包收到后才通知系统来取出接收缓冲区的数据,这样就可以提高接收的效率,不知道是否可行??
constantine
2007-08-01
打赏
举报
回复
包的大小不要大于MTU,也不要太小。不过这些好像都跟掉包没有关系。
更不会因为你的接收缓冲区大就不掉包,要知道包根本就没到你的pc,你的缓冲区就是比天大也枉然。
UDP
主要丢包原因及具体问题分析
文章来源:http://www.2cto.com/net/201311/254835.html
UDP
主要丢包原因及具体问题分析 一、主要丢包原因 1、
接收
端处理时间过长导致丢包:调用recv方法
接收
端收到
数据
后,处理
数据
花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改
接收
端,将包
接收
后存入一个缓冲区,然后迅速返回继续......
UDP
不可靠性
说明
UDP
是不可靠协议,使用
UDP
需要注意一些问题。 丢包
UDP
丢包可能性有两种: 传输过程中
接收
设备缓存 传输过程丢包 传输过程丢包一般出现在广域网的情况下,由于路由路径,网线和路由器等处理硬件,以及网络情况等各种原因都有可能导致丢包;局域网内一般不容易出现(特殊原因:网络情况差有
大量
数据
要发送,路由器和网线硬件问题)。 局域网内使用网线传输一般不会出现丢包,wifi等弱网...
深入理解
UDP
协议
UDP
的疑难杂症
UDP
的传输方式:面向报文 面向报文的传输方式决定了
UDP
的
数据
发送方式是一份一份的,也就是应用层交给
UDP
多长的报文,
UDP
就照样发送,即一次发送一个报文。那么
UDP
的报文大小由哪些影响因素呢?
UDP
数据
包的理论长度是多少,合适的
UDP
数据
包应该是多少呢? (1)
UDP
报文大小的影响因素,主要有以下3个: [1]
UDP
协议本身,
UDP
协议中有16位的
UDP
报文长度,那么
UDP
报文长度不能超过2^16=65536; [2] 以太网(Ethernet)
数据
帧
linux下
udp
丢包和传输延迟,如何测试
UDP
数据
包的丢包率和延迟
iperf也可以用于
UDP
数据
包吞吐量、丢包率和延迟指标,但是由于
UDP
协议是一个非面向连接的轻量级传输协议,并且不提供可靠的
数据
传输服务,因此对
UDP
应用的关注点不是传输
数据
有多快,而是它的丢包率和延时指标。通过iperf的“-u”参数即可测试
UDP
应用的传输性能,下图测试的是在iperf客户端传输100MB的
UDP
数据
包的输出结果:iperf传输100MB的
UDP
数据
包的输出结果这个输出结果过...
《
udp
丢包分析》
UDP
主要丢包原因及具体问题分析 一、主要丢包原因 1、
接收
端处理时间过长导致丢包:调用recv方法
接收
端收到
数据
后,处理
数据
花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改
接收
端,将包
接收
后存入一个缓冲区,然后迅速返回继续recv。 2、发送的包巨大丢包:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章