ネットワークからの高データレートのマルチキャストUDPパケットを読み取る、C#で書いた概念アプリの素早く汚れた証明があります。いろいろな理由から、完全な実装はC++で書かれており、boost asioの使用を検討しています。 C#バージョンでは、ブロッキング読み取りを使用してデータを受信するスレッドが使用されました。コンピュータの負荷が大きい(一般に、別のスレッドでこれらのパケットを処理している)場合、パケットが欠落したときに問題が発生しました。ブーストのasio asyncとブロッキングの読み取り、udpの速度/品質の比較
私が知りたいのは、ブースト(Windowsでオーバーラップされたioを使用)がパケットを受信したり、パケットを受信するのに必要なCPU時間を短縮するのに役立つかどうかです。非同期読み取りは、複雑さの中で一歩上がったように思えますが、高性能を提供したり負荷の重いシステムでパケット数を減らしたりすれば、価値があると思います。現在のところ、データ転送速度は60Mb/s以下でなければなりません。
これは恐ろしい答えです... – snb