Anpingen externer IPs von Java Android
In der Java Android-Entwicklung ist es möglich, sowohl lokale als auch externe IP-Adressen anzupingen. Wenn Sie jedoch beim Versuch, externe Server anzupingen, auf Probleme stoßen, finden Sie hier eine Anleitung zur Fehlerbehebung:
Codeanalyse:
Ihr Code versucht, eine IP-Adresse anzupingen mit der Methode InetAddress.isReachable(). Diese Methode testet nur lokale IP-Adressen. Um das Pingen externer Server zu aktivieren, müssen Sie einen anderen Ansatz verwenden.
Lösung: Verwendung nativer Befehle
Der bereitgestellte Code in der Antwort verwendet native Befehle, um a auszuführen Ping-Vorgang. Mit diesem Ansatz können Sie jede IP-Adresse anpingen, sowohl lokal als auch extern. Hier ist eine Erklärung des Codes:
private boolean executeCommand(){ System.out.println("executeCommand"); Runtime runtime = Runtime.getRuntime(); try { Process mIpAddrProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); int mExitValue = mIpAddrProcess.waitFor(); System.out.println(" mExitValue "+mExitValue); if(mExitValue==0){ return true; }else{ return false; } } catch (InterruptedException ignore) { ignore.printStackTrace(); System.out.println(" Exception:"+ignore); } catch (IOException e) { e.printStackTrace(); System.out.println(" Exception:"+e); } return false; }
Stellen Sie sicher, dass Sie in Ihrer AndroidManifest.xml-Datei über die erforderlichen Berechtigungen für den Zugriff auf das Internet verfügen, bevor Sie diesen Code verwenden.
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie pinge ich externe IPs von Java Android aus an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!