C#下如何有效控制发送的带宽
C#下编程,将文件以UDP多播包发送。需要控制发送带宽。
在windows xp下,采用系统的 sleep()函数,
根据用户设置的带宽,计算得到需要delay的值,然后在每发送一个数据包后sleep(delay).这种方法在windows xp下基本能够满足带宽控制。
但是,
将程序在windows server 2003下运行,发现带宽不准。
通过测试,
发现同样的sleep(n)在执行前后,windows xp环境下的延迟与设置所设的值是一致的,
但在windows server 2003下,执行sleep的前后,所用的时间很不准确,因而无法精确控制发送带宽。
估计是很系统有关。
请问有没有更好的带宽控制方法,
或者有其他延迟方法,至少需要精确到ms,在windows server 2003上也是可以支持的?
--------------------编程问答-------------------- 有人回答吗??? --------------------编程问答-------------------- 要控制网卡了 --------------------编程问答-------------------- 具体应该怎么实现,能不能有详细一些的思路描述。
网上的一些测试工具发送都挺准确的,比如WSend,不知道具体实现方法是什么。
补充:.NET技术 , C#