Lokale IP mit Java ermitteln

Aus Byte-Welt Wiki
Version vom 25. Juni 2020, 09:18 Uhr von L-ectron-X (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Kategorie:Java-Codeschnipsel Bei diesem Code-Schnipsel handelt es sich um einen Workaround. Er funktioniert aber unter Windows, sowie unter allen Linux-Dis…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Bei diesem Code-Schnipsel handelt es sich um einen Workaround. Er funktioniert aber unter Windows, sowie unter allen Linux-Distributionen.

< import java.net.DatagramSocket; import java.net.InetAddress;

/**

* Diese Methode gibt die lokale IP-Adresse zurück, die zum Herstellen einer Verbindung mit einem Remote-Rechner verwendet wird. 
* Es wird keine echte Verbindung hergestellt, daher kann die angegebene IP auch auf Grund von Restriktionen nicht benutzbar sein.
* @return Gibt die ermittelte lokale IP-Adresse zurück.
*/

public String getPreferredLocalIPAddress() {

  String ip = "127.0.0.1";
  try (final DatagramSocket socket = new DatagramSocket()) {
     socket.connect(InetAddress.getByName("8.8.8.8"), 10002);
     ip = socket.getLocalAddress().getHostAddress();
  } catch (SocketException | UnknownHostException ex) {
     System.out.println(ex);
  }
  return ip;

}