我正在用 C# 编写一个 UDP 多播客户端/服务器对,我需要大约 50-100 微秒(微秒)的延迟来限制服务器传输速率。这有助于避免严重的数据包丢失,也有助于防止受磁盘 I/O 限制的客户端过载。请不要建议使用 Thread.Sleep 或 Thread.SpinWait。我不会问我是否需要其中任何一个。
我的第一个想法是使用某种高性能计数器并执行一个简单的 while() 循环检查经过的时间,但我想避免这种情况,因为它感觉很笨拙。这不会也与服务器进程的 CPU 利用率挂钩吗?
跨平台解决方案的奖励积分,即不是特定于 Windows 的。提前谢谢各位!