C#でネットワークの速度と帯域幅の使用状況を検出する方法はありますか?オープンソースコンポーネントへのポインタでも大歓迎です。
System.Net.NetworkInformationクラスを使用してみてください。特に、 - System.Net.NetworkInformation.IPv4InterfaceStatistics
あなたが探しているものに沿っていくつかの情報を持っているべきです。
具体的には、bytesReceived
プロパティを確認し、所定の間隔を待ってから、bytesReceived
プロパティを再度確認して、接続が処理している1秒あたりのバイト数を把握できます。ただし、適切な数値を取得するには、特定のソースから大量の情報をダウンロードしてから、確認する必要があります。そうすれば、テストを行うときに接続を「最大化」する必要があり、より役立つ数値が得られます。
IPGlobalStatistics クラスから必要なものをすべて計算できるはずです。