在 C# 中检测网络连接速度和带宽使用情况
Posted
技术标签:
【中文标题】在 C# 中检测网络连接速度和带宽使用情况【英文标题】:Detecting network connection speed and bandwidth usage in C# 【发布时间】:2010-10-08 15:28:37 【问题描述】:有没有办法在 C# 中检测网络速度和带宽使用情况?甚至欢迎指向开源组件的指针。
【问题讨论】:
【参考方案1】:尝试使用 System.Net.NetworkInformation 类。特别是,System.Net.NetworkInformation.IPv4InterfaceStatistics
应该有一些与您要查找的内容类似的信息。
具体来说,您可以检查bytesReceived
属性,等待给定的时间间隔,然后再次检查bytesReceived
属性以了解您的连接正在处理多少字节/秒。但是,要获得一个好的数字,您应该尝试从给定来源下载大量信息,然后检查;这样,您应该在进行测试时“最大化”连接,这应该会提供更多有用的数字。
【讨论】:
【参考方案2】:您应该能够从 IPGlobalStatistics 类中计算出您需要的所有内容。
【讨论】:
【参考方案3】:如果只关心协商的速度,可以查看 NetworkInterface.Speed 属性
MSDN NetworkInterface.Speed
【讨论】:
以上是关于在 C# 中检测网络连接速度和带宽使用情况的主要内容,如果未能解决你的问题,请参考以下文章
C# 网络连接中异常断线的处理:ReceiveTimeout, SendTimeout 及 KeepAliveValues(设置心跳)