2016-04-01 1 views
0

Я хочу получить ping из локальной сети, чтобы узнать, какие устройства находятся в моей локальной сети.Как получить ping (в LAN 1 до 255) в студии android

Это мой код:

TextView info = (TextView) findViewById(R.id.info); 
    String alive = ""; 
    for (int i = 0; i < 256; i++) { 
     Process p = Runtime.getRuntime().exec("/system/bin/ping -c 1 192.168.1." + i); 
     info.setText(""); 
     int status = p.waitFor(); 
     if (status == 0) { 
      alive = alive + " - " + i; 
      Log.d("Hey", i+""); 
     } 

Этот код работает правильно, но этот процесс очень трудоемкий.

ответ

0

Вы ожидаете завершения каждого процесса пинга перед тем, как начать следующий.

Вместо этого вы должны сделать List<Process> с каждым ping сразу, а затем дождаться их завершения в отдельном цикле после запуска всех из них.

+0

ty для ответа, может ли вы показать мне простой код? –

Смежные вопросы