2016-04-01 10 views
0

Ich möchte ping aus dem LAN bekommen, um zu sehen, welche Geräte in meinem LAN sind. mein CodeWie bekomme ich Ping (in LAN 1 bis 255) in android Studio

Dies ist:

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+""); 
     } 

Dieser Code funktioniert einwandfrei, aber dieser Prozess ist sehr zeitaufwendig.

Antwort

0

Sie warten auf den Abschluss jedes Ping-Prozesses, bevor Sie mit dem nächsten beginnen.

Stattdessen sollten Sie einen List<Process> mit jedem ping auf einmal machen, dann warten Sie auf sie in einer separaten Schleife nach dem Start alle von ihnen zu beenden.

+0

ty für antwort, kannst du mir einfachen code zeigen? –