UDP ソケットを使用しています。サーバー アプリケーションは、クライアントがサーバーにデータを送信する必要がある時間に関する情報をクライアントに送信します。次に、クライアントは特定のパケットを送信することにより、この間に送信を開始します。
そのため、 Sendto()の後にデータがワイヤに送信されたかどうかを判断して、クライアントが実際に送信している時間を確認する方法が必要です。それは存在しますか?
OS: Windows7
パフォーマンス カウンター ( Network interface \ Output Queue Length ) を使用しようとしましたが、常に 0 です。
私が知っているもう 1 つの方法は、SO_SNDBUF ( setsockopt() ) を送信するパケットのサイズに設定することです。したがって、sendto()は、送信ソケット バッファがいっぱいになるまでブロックします (前のパケットはネットワーク インターフェイス バッファに送信されません)。しかし、ネットワークインターフェイスバッファではなくソケットバッファでのみ機能するため、機能しないようです。
Linux 向けのソリューションにも興味があります。