Мне нужно определить статистику использования сети для каждого процесса, аналогичную тому, что может сделать TCPView.Получение статистики пропускной способности соединения
Example http://img513.imageshack.us/img513/861/6601f15814544055a590e26.png
Поэтому, прежде чем снимать меня для размещения дубликата this question или this question, я хотел бы отметить, что ни один из тех, кто имеет тщательный ответ, который мог бы помочь мне на самом деле это сделать.
Я занимаюсь исследованиями, и есть много способов перечислить активные соединения и связанные с ними процессы, будь то с netstat или другими API-интерфейсами Windows, например IpHlpAPI.dll.
Теперь от того, что я сделал Google'ing, я не нашел много - для этих расплывчатых терминов, за исключением: GetPerTcpConnectionEStats и GetPerTcp6ConnectionEStats. Предположительно для TCP через IPv4 и IPv6 соответственно. Теперь, когда я читал его, возможно, мог делать то, что мне нужно. Однако это все еще оставляет UDP. И они также недоступны в системах XP, в которых работает TCPViewer.
Я был бы доволен использованием данных для TCP, но проблема в том, что я не могу найти примеры того, как их использовать с C#.
Так что я думаю, все это сводится к этим несколько вопросов:
- ли кто-нибудь на самом деле знает, как TCPView делает это?
- Как использовать GetPerTcpConnectionEStats для TCP? Или он может даже выполнить то, что я предлагаю?
- Есть ли другая известная альтернатива, которая будет работать для UDP?
Все дело в том, чтобы увидеть независимое использование полосы пропускания самих процессов. Не вычислять общее использование пропускной способности системы.
Заранее благодарим за любые ответы.
Скорее всего, вы можете сделать это через WMI/счетчики производительности, однако я лично считаю эти API довольно загадочными ... на всякий случай, когда вы не получите никаких хороших ответов и ищете дополнительные ключевые слова для google. –
Любое решение для этого? –
@TomerPeled: Я так и не нашел решение и отказался от проекта (так как это было лично). Если вы узнаете, как определить использование пропускной способности отдельных процессов, пожалуйста, отправьте его как ответ, и это может вызвать некоторые побуждения во мне, чтобы закончить мой старый проект :) – caesay