Heim  >  Artikel  >  Java  >  Wie pinge ich externe IPs von Java Android aus an?

Wie pinge ich externe IPs von Java Android aus an?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-14 22:29:02896Durchsuche

How to Ping External IPs from Java Android?

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;
}
  1. Die runtime.exec()-Methode wird verwendet, um den Ping-Befehl auszuführen.
  2. Der Ping-Befehl enthält die Option -c 1, Dies gibt an, dass der Befehl nur eine Ping-Anfrage senden soll.
  3. Die Methode waitFor() wartet auf den Abschluss des Befehls und gibt den Exit-Wert zurück.
  4. Wenn der Exit-Wert 0 ist, wird der Ping Anfrage war erfolgreich. Andernfalls ist die Ping-Anfrage fehlgeschlagen.

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:

  • Stellen Sie sicher, dass Ihr Gerät mit dem Internet verbunden ist.
  • Stellen Sie sicher, dass keine Firewalls oder Netzwerkeinstellungen die Ping-Anfragen blockieren.
  • Verwenden Sie eine IP-Adressvalidierungsbibliothek zur Überprüfung der IP-Adresse vor dem Pingen.
  • Behandeln Sie potenzielle Ausnahmen oder Fehlerfälle ordnungsgemäß.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn