【发布时间】:2010-11-16 14:03:29
【问题描述】:
我正在向远程电脑连续发送多个 udp 数据包。问题是,如果数据量太大,通道之间某处的某些设备会出现缓冲区溢出。我打算限制/限制/控制 udp 数据包的发送速率。有人可以给我一些关于如何找到最佳速率发送间隔的指导吗?
顺便说一句,请不要再建议 tcp over udp。目标不是可靠地发送数据,而是测量最大吞吐量。
【问题讨论】:
-
如果你真的想测量吞吐量,那么尽可能多地发送并指望另一边。您不必节流来衡量最大吞吐量。
-
@Daniel Mošmondor。我认为你不知道问题是什么。请不要垃圾邮件。
-
当然我不知道,因为你说:目标不是可靠地发送数据,而是测量最大吞吐量。 就测量而言,我的建议就是这样做的。
-
@DanielMošmondor 让我解释一下。如果您发送 udp 数据包而没有某种限制方法,则数据包最终会溢出端点之间的网络元素。发生这种情况时,端点只会丢弃数据包。发生这种情况时,您无法分辨端点之间的带宽。更不用说,电信公司使用的一些网络元素会将这种情况检测为数据包垃圾邮件,并立即丢弃来自该 ip 的每个 udp 数据包。还有效率问题。
-
@DanielMošmondor 如果您认为可以通过测量可以发送的数据量来测量带宽,那么当您可以在 Cat 5 电缆上发送高达每秒 1gb 的数据时,如何测量带宽?如果你相信你可以尽可能多地发送 udp 数据包,并且能够通过计算另一端来测量带宽,那么向全世界展示并证明我错了。
标签: c# networking udp bandwidth udpclient