Lokale IP mit Java ermitteln: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen (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…“) |
|||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
Bei diesem Code-Schnipsel handelt es sich um einen Workaround. Er funktioniert aber unter Windows, sowie unter allen Linux-Distributionen. | Bei diesem Code-Schnipsel handelt es sich um einen Workaround. Er funktioniert aber unter Windows, sowie unter allen Linux-Distributionen. | ||
− | < | + | <syntaxhighlight lang="java"> |
import java.net.DatagramSocket; | import java.net.DatagramSocket; | ||
import java.net.InetAddress; | import java.net.InetAddress; | ||
/** | /** | ||
− | * Diese Methode gibt die lokale IP-Adresse zurück, die zum Herstellen einer Verbindung mit einem Remote-Rechner verwendet wird. | + | * Diese Methode gibt die lokale IP-Adresse zurück, die zum Herstellen einer Verbindung |
− | * Es wird keine echte Verbindung hergestellt, daher kann die angegebene IP auch auf Grund von Restriktionen nicht benutzbar sein. | + | * 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. | * @return Gibt die ermittelte lokale IP-Adresse zurück. | ||
*/ | */ | ||
Zeile 21: | Zeile 24: | ||
return ip; | return ip; | ||
} | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | *[https://stackoverflow.com/questions/9481865/getting-the-ip-address-of-the-current-machine-using-java Link zum Original-Beitrag] |
Aktuelle Version vom 25. Juni 2020, 09:47 Uhr
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;
}