确定网络连接链接速度

时间:2009-05-11 19:45:03

标签: c++ windows winapi networking

如何以编程方式确定活动网络连接的网络连接链接速度 - 如任务管理器在“网络”选项卡中显示的那样?我不是真正关注可用带宽,只是当前连接的数字,例如54Mbps,100Mbps等。

3 个答案:

答案 0 :(得分:2)

Win32_NetworkAdapter WMI类可以帮助您(Speed属性)。它为我的连接到WiFi-g接入点的WiFi适配器返回值54000000。

答案 1 :(得分:2)

最后我找到了Win32_PerfRawData_Tcpip_NetworkInterface WMI类,因为我需要支持遗留平台,遗憾的是,Win32_NetworkAdapter没有这样做。 Win32_PerfRawData_Tcpip_NetworkInterface有一个CurrentBandwidth属性,可以在所有需要的平台上提供我所需的内容(我意识到我说我不需要“带宽”但是它可以接受并且似乎返回了“标称带宽”无论如何适配器。)

感谢所有发帖的人,指出了我正确的方向。

答案 2 :(得分:0)

.NET方式如何知道适配器速度

IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
if ( nics != null )
    for (int i = 0; i < nics.Length; i++)
        Console.WriteLine("Adapter '{0}' speed : {1}", nics[i].Name, nics[i].Speed);

某些适配器是隧道,因此它们的速度将返回0。 有关详细信息,请阅读MSDN上的NetworkInterface文档。