IPアドレスであることを知る必要があるプログラムがあります。しかし、私が使用するとき
InetAddress current_addr = addresses.nextElement();
戻る
127.0.1.1
これはあまり役に立ちません。Java から非ローカル IP アドレスを取得するにはどうすればよいですか?
IPアドレスであることを知る必要があるプログラムがあります。しかし、私が使用するとき
InetAddress current_addr = addresses.nextElement();
戻る
127.0.1.1
これはあまり役に立ちません。Java から非ローカル IP アドレスを取得するにはどうすればよいですか?
使用すると何が得られますか:
InetAddress IP = InetAddress.getLocalHost();
String ipAddress = IP.getHostAddress();
複数のネットワーク インターフェイスがない場合は、理想的には IP アドレスを提供する必要があります。
ローカルでテストしたところ、マシンの適切なIPアドレスが得られました
192.168.2.10
複数のネットワーク インターフェイスがある場合は、NetworkInterface クラスの使用を試すことができます。サンプルは次のとおりです。
Enumeration<NetworkInterface> n = NetworkInterface.getNetworkInterfaces();
for (; n.hasMoreElements();)
{
NetworkInterface e = n.nextElement();
System.out.println("Interface: " + e.getName());
Enumeration<InetAddress> a = e.getInetAddresses();
for (; a.hasMoreElements();)
{
InetAddress addr = a.nextElement();
System.out.println(" " + addr.getHostAddress());
}
}
ソースは関連記事から取得: java InetAddress.getLocalHost(); 127.0.0.1 を返します ... REAL IP を取得するには?