私はC#でUDPマルチキャストクライアント/サーバーペアを作成していますが、サーバーの伝送速度を調整するには、50〜100 µsec(マイクロ秒)のオーダーの遅延が必要です。これは、重大なパケット損失を回避するのに役立ち、ディスクI/Oバウンドのクライアントに過負荷をかけないようにするのにも役立ちます。Thread.SleepまたはThread.SpinWaitを提案しないでください。どちらかが必要かどうかは尋ねません。
私が最初に考えたのは、ある種の高性能カウンターを使用して、経過時間をチェックする単純なwhile()ループを実行することでしたが、それは厄介だと感じるので避けたいと思います。それはまた、サーバープロセスのCPU使用率を固定しませんか?
クロスプラットフォームソリューションのボーナスポイント、つまりWindows固有ではありません。よろしくお願いします!