Android获取host访问丢包率和推迟的办法

具体办法

/**
 * times 次数
 * host 访问地址
 */
fun netSpeedTest(times: Int, host: String) {
    Thread {
        val p = Runtime.getRuntime().exec("ping -c $times $host")
        val buf = BufferedReader(InputStreamReader(p.inputStream))
        var str = ""
        while (buf.readLine()?.also { str = it } != null) {
            if (str.contains("packet loss")) {
                val i = str.indexOf("received")
                val j = str.indexOf("%")
                val lost = str.substring(i + 10, j + 1)
                Log.i(TAG, "丢包率:$lost")
            }
            if (str.contains("avg")) {
                val i = str.indexOf("/", 20)
                val j = str.indexOf(".", i)
                val delay = str.substring(i + 1, j)
                Log.i(TAG, "平均推迟:$delay ms")
            }
        }
    }.start()
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。