Java を使用して Ubuntu からコンピューターの IP を取得する必要があります。で試しましInetAddress.getLocalHost.getHostAddress().toString();
たが、戻ります127.0.0.1
。私は解決策を探していて、このコードを見つけました:
NetworkInterface ni = NetworkInterface.getByName("eth0");
Enumeration<InetAddress> inetAddresses = ni.getInetAddresses();
while(inetAddresses.hasMoreElements()) {
InetAddress ia = inetAddresses.nextElement();
if(!ia.isLinkLocalAddress()) {
System.out.println("IP: " + ia.getHostAddress());
}
}
}
このコードは私にとってはうまくいきましたが、問題は、コンピューターが「eth1」インターフェイスを使用している場合、またはコンピューターがワイヤレスアダプターを使用してネットワーク (wlan0) に接続できる場合です。その場合、プログラムは失敗します。UNIX システムから IP を取得する安全な方法を教えてもらえますか? よろしく。