为什么WiFi链接速度和带宽的读数不相关?

时间:2018-11-21 09:49:59

标签: android networking kotlin wifi android-wifi

我想获得WiFi连接的“速度”。

NetworkCapabilities类中,我得到:

Link downstream bandwidth: 1048576 Kbps
Link upstream bandwidth:   1048576 Kbps

但是,使用WiFiInfo类,我得到了:

Link speed:                200000 Kbps

为什么值不同?

根据我的研究,我得出的结论是,NetworkCapabilities类实际上并不能测量带宽-它只是返回检测到的技术(WiFi,蜂窝等)的EXPECTED值。我猜想WiFiInfo的作用相同。我在延长的时间内多次运行该代码,并获得了与上面相同的值。


代码

以下是带有NetworkCapabilities的代码:

val connectivityManager = context.getSystemService(ConnectivityManager::class.java)    

val networkCapabilities: NetworkCapabilities?
            get() = connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)

    networkCapabilities?.linkDownstreamBandwidthKbps // 1048576
    networkCapabilities?.linkUpstreamBandwidthKbps   // 1048576

以下是带有WiFiInfo的代码:

val wifiManager = context.getSystemService(WifiManager::class.java)
wifiManager.connectionInfo.linkSpeed // returns 200 Mbps

0 个答案:

没有答案