使用 C# 计算网络带宽速度最可靠的方法是什么?
我发现了一些使用NetworkInterface
、性能计数器、本机 Win32 代码等的示例,但它们都提供了不同的结果,似乎没有一个与其他已经存在的工具显示的结果相匹配。
关于在 C# 中计算网络带宽速度的最可靠方法有什么建议吗?
编辑:为了澄清我想知道特定接口当前消耗了多少带宽。
尝试使用 System.Net.NetworkInformation 类。特别是, System.Net.NetworkInformation.IPv4InterfaceStatistics 应该有一些与您要查找的内容相符的信息。
具体来说,您可以检查 bytesReceived 属性,等待给定的时间间隔,然后再次检查 bytesReceived 属性以了解您的连接正在处理多少字节/秒。但是,要获得一个好的数字,您应该尝试从给定来源下载大量信息,然后检查;这样,您应该在进行测试时“最大化”连接,这应该会提供更多有用的数字
这样做的另一种方法 - 尽管它可能看起来是作弊 - 使用“netstat -e X”创建一个隐藏进程,其中 X 是一个间隔,例如,“netstat -e 5”,输出流重定向并监控数字在“已收到”和“已发送”标题下……您怎么看?
希望这会有所帮助,最好的问候,汤姆。
使用 C# 计算网络带宽速度最可靠的方法是什么?
最现实的方法是定期向/从一个非常快速的服务器发送/下载一些小测试文件,并注意它所花费的时间。