2012-03-28 66 views
0

我希望我的应用程序能够监视多少数据(我不需要真正的包,只有字节数)进入计算机(在一个单一的接口)在任何时候,也随着时间的推移。换一种说法;我希望能够显示一个数字,显示当前的上下速度(例如5kB/s)以及过去5分钟内的图形,最后我还希望能够显示正确数量的数据在过去一小时内出现在界面中。在C中测量网络流量#

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

回答

2

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

1

有点像DUMeter?

Look here

+0

只是tryed它。这很好,也有源码。谢谢。 – radbyx 2012-03-28 11:59:29

0

您可能想看看性能计数器。

Screen shot from perfmon

在大多数这些网柜,你可以选择网络接口是被监控的。你也可以在.Net代码中做同样的事情。

这里有一个CodeProject上的文章,其中包含窗体应用程序,并基本上你以后:http://www.codeproject.com/Articles/6259/Monitoring-network-speed

+0

某些相关的[计数器](http://technet.microsoft.com/en-us/library/cc768048.aspx#XSLTsection133121120120) – oleksii 2012-03-28 10:56:59