TCPViewの処理と同様のプロセスごとのネットワーク使用状況の統計を判断する必要があります。あなたがthis question、またはthis questionの重複を投稿するために私を撃つ前に接続帯域幅の統計情報を取得する
Example http://img513.imageshack.us/img513/861/6601f15814544055a590e26.png
だから、私はそれらのいずれもが、私は実際にこれを行うに役立つ可能性が徹底的に答えを持っていることを指摘したいと思います。
私は研究を行ってきました。これは、netstatやその他のWindows APIのどちらであろうと、アクティブな接続と関連するプロセスを明示的に表示する方法がたくさんあります。IpHlpAPI.dllなどです。
は今、私がやったGoogle'ingから、私はあまり見つかっていない - これらのあいまいな用語を除い:GetPerTcpConnectionEStatsとGetPerTcp6ConnectionEStats。おそらくIPv4とIPv6上のTCPのために。今私が読んでいた場所で、私がする必要があることをすることができると思われる。しかし、それでもUDPは除外されます。また、TCPViewerが動作するXPシステムでは利用できません。
私はTCPのためにそれらを使用することに満足していますが、問題は、私はC#からそれらを使用する方法の例を見つけることができないということです。
は、だから私はそれがすべてのこれらのいくつかの質問に沸く推測:
- は誰もが実際にTCPViewはそれをしない方法を知っていますか?
- TCPにGetPerTcpConnectionEStatsを使用するにはどうすればよいですか?それとも、私が提案していることを達成することすらできますか?
- UDPで動作する別の既知の方法がありますか?
この全体の要点は、プロセス自体の独立した帯域幅使用率を確認することです。システム全体の帯域幅の使用量を計算しません。
ありがとうございます。すべての回答があります。
これはWMI /パフォーマンスカウンタを使用して行うことができますが、個人的にはわかりにくいAPIを見つけます...グッドな回答が得られず、Googleのさらなるキーワードを探している場合に備えてです。 –
これにはどんな解決策がありますか? –
@TomerPeled:私は決して解決策を見つけられず、プロジェクトを放棄したことはありません(とにかく個人的なので)。あなたが個々のプロセスの帯域幅使用量を決定する方法を知っていれば、それを回答として投稿してください。それは私の古いプロジェクトを仕上げるために私の中でいくつかの動機づけを引き起こすかもしれません:) – caesay