4

C#を使用して、ネットワーク帯域幅の速度を計算するための最も信頼できる方法は何ですか?

、パフォーマンスカウンター、ネイティブWin32コードなどを使用したいくつかの例を見つけましたNetworkInterfaceが、それらはすべて異なる結果を提供し、他の既存のツールが示しているものと一致するものはないようです。

C#でネットワーク帯域幅の速度を計算するための最も信頼できる方法に関するアドバイスはありますか?

編集:明確にするために、特定のインターフェースが現在消費している帯域幅を知りたいと思っています。

4

3 に答える 3

2

同じ質問:

System.Net.NetworkInformation クラスを使用してみてください。特に、System.Net.NetworkInformation.IPv4InterfaceStatistics には、探している情報に沿った情報が含まれているはずです。

具体的には、bytesReceived プロパティを確認し、一定の間隔を置いてから再度 bytesReceived プロパティを確認して、接続が 1 秒あたりに処理しているバイト数を把握できます。ただし、適切な数を取得するには、特定のソースから大量の情報ブロックをダウンロードして確認する必要があります。そうすれば、テストを行うときに接続を「最大化」する必要があり、より役立つ数値が得られるはずです

于 2010-03-05T16:25:25.947 に答える
1

C#を使用して、ネットワーク帯域幅の速度を計算するための最も信頼できる方法は何ですか?

最も現実的な方法は、非常に高速なサーバーとの間で小さなテストファイルを定期的に送受信し、それにかかる時間を確認することです。

于 2010-03-05T16:21:47.937 に答える
1

これを行う別の方法 - 不正行為のように見えるかもしれませんが - 'netstat -e X' を使用して隠しプロセスを作成します。ここで、X は間隔です。 「受信済み」および「送信済み」という見出しの下... どう思いますか?

これがお役に立てば幸いです。よろしくお願いします、トム。

于 2010-03-05T16:47:40.150 に答える