在 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(设置心跳)

网络带宽

linux中怎么检测TCP网络连接是不是正常

评估连接速度的最佳方法

有那种软件可以监测一天24小时电脑网络连结情况?把网络连接情况记录下来,比如几时几分几秒网络断开,

网络基础笔记整理