27
Апр
2021

Возврат данных в главный поток из бесконечного пинга

В андроид проекте, метод runPingInfo получает данные от бесконечного пинга в виде массива. Как можно после каждого пакета, полученные данные возвращать в главный поток?

fun runPingInfo(serviceHost: String):LongArray?{
Thread{
    val ex: Exchanger<LongArray>? = null
    val command = "ping"
    var commandProcess = Runtime.getRuntime().exec("$command -W 1 $serviceHost")
    commandProcess.inputStream.bufferedReader().lines().forEach {
        if (it.contains("time")) {
            val arr = getPingInfo(it)  //Array with data
            println(Arrays.toString(arr))
        }
    }

}.start()

return null

}

Источник: https://ru.stackoverflow.com/questions/1275299/%D0%92%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D0%B9-%D0%BF%D0%BE%D1%82%D0%BE%D0%BA-%D0%B8%D0%B7-%D0%B1%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D0%B8%D0%BD%D0%B3%D0%B0

Тебе может это понравится...

Добавить комментарий