import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Demo {
public static void main(String[] args) {
InetAddress address = null;
try {
address = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**
* 169.254.86.58
*/
System.out.println(address.getHostAddress());
}
}
上面的代码输出169.254.86.58 ,而我机器的IP地址是59开头的。
我的笔记本使用网线连上的网络, 然后开启了WiFi共享的功能,然后运行上面的代码结果输出的是169.254.86.58,如果我关闭了WiFi共享功能, 那么上面的代码就能够输出59开头的IP地址。
这是为什么呢?
高洛峰2017-04-17 17:52:38
169.254.xxx.xxx 범위의 주소는 링크 로컬 IP 주소입니다. 이는 단일 네트워크 세그먼트에서 사용하도록 예약되어 있습니다.
WiFi 공유 기능을 켜면 새 LAN이 연결됩니다. 열어주세요