ich eine Frage zu einem Problem geschrieben, die InetAddress in 8 java betrifft: InetAddress java 8 is not getting the hostname, die zwischen dem Erhalten Hostnamen InetAddress oder System.getenv besser ist
jedoch fand ich eine einfache Lösung, die durch System.getenv("HOSTNAME")
statt InetAddress.getLocalHost().getHostName()
mit ...
ich möchte wissen, was der Unterschied ist zwischen den Hostnamen immer mit:
InetAddress.getLocalHost().getHostName();
oder
System.getenv("HOSTNAME")
und gibt es irgendwelche Auswirkungen? Welches ist besser?
Sie wahrscheinlich nicht auf Systemumgebungsvariablen –
verlassen sollten, wenn Sie über die Kompatibilität kümmern, wissen, dass 'hostname' nicht auf Windows vorhanden ist. Aber die Hauptfrage ist: Warum brauchen Sie es? Ein Computer kann viele Domains hosten, weshalb brauchen Sie den Namen? – Andreas
Nicht nur Windows, es gibt auch keine Garantie, dass es unter Linux gesetzt wird. Erstens ist es keine POSIX-erforderliche Umgebungsvariable, und einige Distributionen können sich dafür entscheiden, sie nicht zu verwenden oder nicht mehr zu verwenden. Zweitens, abhängig davon, wie der Prozess gestartet wird, müssen nicht unbedingt alle Umgebungsvariablen nach vorne exportiert werden. – Pace