Abrufen der IP-Adresse der aktuellen Maschine mit Java
In verteilten Systemen kommunizieren Knoten häufig über ihre IP-Adressen miteinander. Allerdings kann es eine Herausforderung sein, die richtige IP-Adresse für das aktuelle Gerät zu erhalten, da mehrere Netzwerkschnittstellen und verschiedene Arten von IP-Adressen vorhanden sein können.
Bestimmen der geeigneten IP-Adresse
Standardmäßig gibt InetAddress.getLocalHost() die IP-Adresse der ersten aktiven Netzwerkschnittstelle zurück. Dies ist jedoch möglicherweise nicht in allen Fällen die gewünschte Adresse, insbesondere wenn eine bestimmte IP-Adresse erforderlich ist, wie z. B. die PPP-IP oder die LAN-IP.
Iterieren über Netzwerkschnittstellen
Ein Ansatz besteht darin, NetworkInterface.getNetworkInterfaces() zu verwenden, um alle Netzwerkschnittstellen auf dem Computer abzurufen. Jede Schnittstelle kann dann mit getInetAddresses() auf verfügbare IP-Adressen überprüft werden. Durch Durchlaufen aller verfügbaren IP-Adressen kann der gewünschte IP-Typ (z. B. PPP, LAN) identifiziert werden.
Beispielcode
Der folgende Codeausschnitt zeigt, wie das geht Durchlaufen Sie Netzwerkschnittstellen und zeigen Sie die jeweils zugeordneten IP-Adressen an Schnittstelle:
Enumeration e = NetworkInterface.getNetworkInterfaces(); while(e.hasMoreElements()) { NetworkInterface n = (NetworkInterface) e.nextElement(); Enumeration ee = n.getInetAddresses(); while (ee.hasMoreElements()) { InetAddress i = (InetAddress) ee.nextElement(); System.out.println(i.getHostAddress()); } }
Unterscheiden von IP-Adressen
Sobald die IP-Adressen erhalten wurden, können sie durch Überprüfen ihres Typs unterschieden werden. Loopback-Adressen (127.0.0.1), private (standortlokale) Adressen (192.168.x.x, 10.x.x.x, 172.16.x.x), Link-Local-Adressen (169.254.x.x), Multicast-Adressen (224.x.x.x) und Broadcast-Adressen (255.255.x.x). .255.255) können mithilfe der von InetAddress bereitgestellten Methoden identifiziert werden API.
Auswahl der richtigen IP-Adresse
Die spezifischen Kriterien für die Auswahl der richtigen IP-Adresse variieren je nach den Anforderungen der Anwendung. Im Allgemeinen können die folgenden Schritte in Betracht gezogen werden:
Das obige ist der detaillierte Inhalt vonWie erhalte ich die richtige IP-Adresse Ihrer Java-Maschine?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!