2010-03-05 114 views
4

使用C#什么是计算网络带宽速度最可靠的方法?使用C#什么是计算网络带宽速度最可靠的方法?

我发现了一些使用NetworkInterface,性能计数器,原生Win32代码等的例子,但它们都提供了不同的结果,而且没有一个与其他现有工具显示的结果相匹配。

有关计算C#中网络带宽速度的最可靠方法的任何建议?

编辑:为了澄清我想知道特定接口目前消耗多少带宽。

+0

随时间推移或快照负载? (速度与速度。)无论哪种方式,你可能需要看看WMI。 – 2010-03-05 16:27:11

+0

速度/ s。就像你会在下载文件对话框或Windows任务管理器中看到的一样。 – 2010-03-05 16:31:26

+0

你看到的结果有多不同?你能描述你如何做测试吗?我可以想到几种情况会导致不同的结果,但都是因为糟糕的测试方法。 – overslacked 2010-03-05 18:31:51

回答

1

使用C#什么是计算网络带宽速度最可靠的方法?

最现实的方法是定期发送/下载一个小型测试文件到/从一个明知的非常快的服务器,并注意所花费的时间。

+0

为了澄清我正在寻找知道特定接口当前正在消耗多少带宽。 – 2010-03-05 16:23:17

2

Same Question

尝试使用System.Net.NetworkInformation类。尤其是,System.Net.NetworkInformation.IPv4InterfaceStatistics应该包含一些信息,包括您要查找的内容。

具体而言,您可以检查 财产与BytesReceived,等待一个给定的 间隔,然后再次检查 财产与BytesReceived拿到多少字节/秒的 连接正在处理一个 想法。要获得 的好号码,尽管如此,您应该尝试从 下载来自给定源的大块信息 ,然后检查; 这样你应该是“杏”的 连接,当你做了测试,这 应该给予更多的帮助数

+0

谢谢,这是我目前使用的方法之一。我担心的是,与其他方法相比,我使用它会得到不同的值,所以我不确定哪些值得信任。 – 2010-03-05 16:32:17

1

这样做的另一种方式 - 尽管它可能会被欺骗这样 - 创建一个隐藏使用'netstat -e X'进行处理,其中X是一个时间间隔,例如'netstat -e 5',输出流被重定向并监视标题'Received'和'Sent'下的数字......你认为如何?

希望这会有所帮助, 最好的问候, 汤姆。

+0

我不认为这是作弊,它与NebuSoft提供的答案基本相同。 – overslacked 2010-03-05 18:29:06

相关问题