在C#中测量网络流量

时间:2012-03-28 10:47:42

标签: c# windows networking traffic-measurement

我希望我的应用程序能够监控整个计算机外(在单个界面上)有多少数据(我不需要实际的包,只需要字节数),而且随着时间的推移。换一种说法;我希望能够显示一个显示当前上下速度的数字(例如5kB / s)以及过去5分钟内的图表,最后我还希望能够显示具有正确数据量的数据。在过去一小时内离开了界面。

这是否可以通过简单的方式实现?我不介意使用第三方程序集,或者不得不围绕某些win32 api编写我自己的包装器;所述第三方程序集必须能够与开源应用程序一起使用,并且不能花钱。

3 个答案:

答案 0 :(得分:2)

事实上,您可以使用性能计数器轻松获取所有网络流量,但我不知道如何测量应用程序的网络流量,而不是打开每个数据包并读取它。要衡量所有网络流量,请参阅以下内容:network traffic in c#

答案 1 :(得分:1)

像DUMeter这样的东西?

here

答案 2 :(得分:0)

您可能希望查看效果计数器。

Screen shot from perfmon

在大多数网络计数器上,您可以选择要监控的网络接口。您也可以在.Net代码中执行相同操作。

这是一篇CodeProject文章,其中包含一个表单应用程序,它基本上完成了您的工作:http://www.codeproject.com/Articles/6259/Monitoring-network-speed