使用 InetAddress,即使我连接到网络并且从 dhcp 获得的 Ip 类似于:172.17.13.41,我也总是得到环回地址。为什么 ?
我有这样的事情:
InetAddress address = InetAddress.getLocalHost();
String myIp = address.getHostAddress();
System.out.println(myIp); // I expect the output 172.17.13.41 not 127.0.1.1
这个问题解决了同样的问题:Java getting my IP address
或者你的问题有什么不同?
尝试使用:
InetAddress address = InetAddress.getByName("172.17.13.41");
String myIp = address.getHostAddress();
System.out.println(myIp); // I expect the output 172.17.13.41
根据 java doc,InetAddress.getLocalHost()
可能会返回环回地址。