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