web-dev-qa-db-ja.com

C#でのネットワーク接続速度と帯域幅の使用状況の検出

C#でネットワークの速度と帯域幅の使用状況を検出する方法はありますか?オープンソースコンポーネントへのポインタでも大歓迎です。

42
Mats

System.Net.NetworkInformationクラスを使用してみてください。特に、 - System.Net.NetworkInformation.IPv4InterfaceStatistics あなたが探しているものに沿っていくつかの情報を持っているべきです。

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

33
GWLlosa

IPGlobalStatistics クラスから必要なものをすべて計算できるはずです。

9
Randolpho