Elliott
Normalerweise müssen Sie sich nicht allzu viele Gedanken über Internetadressen machen – die numerischen Hostadressen, die aus vier Bytes (oder bei IPv6 16 Bytes) bestehen, wie z. B. 132.163.4.102. Sie können jedoch die InetAddress-Klasse verwenden, wenn Sie zwischen Hostnamen und Internetadressen konvertieren müssen.
Das Paket java.net unterstützt IPv6-Internetadressen, sofern das Host-Betriebssystem dies tut.
Die statische Methode getByName gibt ein InetAddress-Objekt eines Hosts zurück. Beispiel:
InetAddress address = InetAddress.getByName("time-A.timefreq.bldrdoc.gov");
gibt ein InetAddress-Objekt zurück, das die Folge von vier Bytes 132.163.4.104 kapselt. Sie können auf die Bytes mit der Methode getAddress zugreifen.
Byte[] addressBytes = address.getAddress();
Einige Hostnamen mit viel Verkehr entsprechen mehreren Internetadressen, um den Lastausgleich zu erleichtern. Zum Zeitpunkt dieses Schreibens entspricht der Hostname java.sun.com beispielsweise drei verschiedenen Internetadressen. Einer von ihnen wird zufällig ausgewählt, wenn auf den Host zugegriffen wird. Sie können alle Hosts mit der Methode getAllByName abrufen.
InetAddress[]-Adressen = InetAddress.getAllByName(host);
Schließlich benötigen Sie manchmal die Adresse des lokalen Hosts. Wenn Sie einfach nach der Adresse von localhost fragen, erhalten Sie immer die lokale Loopback-Adresse 127.0.0.1, die von anderen nicht verwendet werden kann, um sich mit Ihrem Computer zu verbinden. Verwenden Sie stattdessen die statische getLocalHost-Methode, um die Adresse Ihres lokalen Hosts abzurufen.
InetAddress-Adresse = InetAddress.getLocalHost();