首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RecvFrom丢失了几个UDP数据包

RecvFrom丢失了几个UDP数据包
EN

Stack Overflow用户
提问于 2019-12-08 03:04:14
回答 1查看 722关注 0票数 2

好的,我知道UDP并不保证交付,但是我希望通过让RecvFrom处于一个具有TimeCritical优先级的线程中,并且快速地将传入的消息移动到一个缓冲区中来捕获所有的消息。但是,当消息速率达到每秒钟1000,1500字节时,就会错过一些消息。我已经用WireShark验证了这些消息实际上是由计算机接收的。

我非常肯定,消息在极短的时间内从RecvFrom返回,直到它再次被调用。

有什么办法“抓住一切”,因为信息显然是收到的?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-08 04:54:33

是否有任何方法“捕获所有”,因为消息显然是收到的?

不是的。如果从套接字缓冲区读取消息的速度不够快,并且这个接收缓冲区被填满,那么消息就会被丢弃。如果它们是在计算机上接收到的,并且在Wireshark中是可见的,那么重要的是它们是否会在套接字接收缓冲区中结束。

您可能会尝试增加此缓冲区以减少损失的可能性,但仍有可能发生这种情况。交付的不可靠性是您与UDP之间的权衡之一,没有魔法可以解决它。要么您可以处理数据包丢失,要么您必须跟踪丢失,并以某种方式请求再次发送消息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59232085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档