【发布时间】:2024-04-23 05:55:01
【问题描述】:
我在计算机 (C#) 和微控制器 (C++) 之间发送/接收非常短的 UDP 数据包。与速度无关,我丢失了大约 50% 的 UDP 数据包,有时更多,有时更少。
在 c# 中,我使用 UDPClient 发送到 IPEndPoint(同步)并异步接收。
我的缓冲区足够大,我看到计算机发送和接收都会产生损失(微发送的数据包与接收的数据包一样多)。我试图每秒发送/接收大约 60 个数据包,但我可以调整它,甚至每秒 10 个数据包我都有损失。比如我每秒发送20个包,微接收发送15个,我的电脑每秒接收10个包。
我们谈论的是 1 Gb 的本地有线以太网连接,非常短(可能是 10 英尺)。我正在发送单播数据包,尽管在网络中我也有一个多播视频(12 Mbps)。最大数据包约 120 字节,大部分在 30-40 字节左右
关于如何调试问题或可能导致问题的任何建议?
谢谢。
【问题讨论】:
标签: networking udp