Necesito determinar estadísticas de uso de red por proceso similares a lo que TCPView puede hacer.Obtener estadísticas de ancho de banda de conexión
Example http://img513.imageshack.us/img513/861/6601f15814544055a590e26.png
Así que antes me disparan por publicar un duplicado de this question, o this question, me gustaría señalar que ninguno de los que tienen una respuesta completa que me podría ayudar a hacer esto realidad.
He estado investigando, y hay claramente muchas maneras de enumerar las conexiones activas y sus procesos asociados, ya sea con netstat u otras API de Windows como IpHlpAPI.dll.
Ahora, de lo que Google'ing que he hecho, no he encontrado mucho - a excepción de estos términos vagos: GetPerTcpConnectionEStats y GetPerTcp6ConnectionEStats. Presumiblemente para TCP sobre IPv4 e IPv6 respectivamente. Ahora, donde estaba leyendo, supuestamente es capaz de hacer lo que tengo que hacer. Sin embargo, eso aún deja fuera UDP. Y tampoco están disponibles en los sistemas XP, en los que TCPViewer funciona.
Estaría satisfecho con el uso de aquellos para TCP, pero el problema es que parece que no puedo encontrar ejemplos de cómo usarlos desde C#.
así que supongo que todo se reduce a estas preguntas:
- ¿Alguien realmente saben cómo TCPView lo hace?
- ¿Cómo uso GetPerTcpConnectionEStats para el TCP? ¿O puede incluso lograr lo que estoy sugiriendo?
- ¿Hay alguna otra alternativa conocida que funcione para UDP?
El objetivo de todo esto es ver el uso del ancho de banda independiente de los procesos. No calcula el uso total del ancho de banda del sistema.
Gracias de antemano por cualquier respuesta.
Es muy probable que pueda hacer esto a través de los contadores de rendimiento/WMI, sin embargo, personalmente encuentro esas API bastante arcanas ... en caso de que no obtenga buenas respuestas y busque más palabras clave para google. –
¿Alguna solución para esto? –
@TomerPeled: Nunca encontré una solución, y abandoné el proyecto (como era personal de todos modos). Sin embargo, si descubres cómo determinar el uso del ancho de banda de procesos individuales, publícalo como respuesta y podría despertar cierta motivación en mí para terminar mi antiguo proyecto :) – caesay