当笔记本电脑连接到互联网而没有连接到互联网时,InetAddress getHostAddress()方法会给出不同的输出?

时间:2014-04-08 16:33:57

标签: java ip host inetaddress

InetAddress address= InetAddress.getLocalHost();

System.out.println(address.getHostName()+ "------"+address.getHostAddress());

上述代码有2种不同的输出类型。

他们是:

1)连接互联网时: Samitha-Pc------10.224.108.58
2)互联网未连接时: Samitha-Pc------127.0.0.1

这种差异的原因是什么?如何将主机从localhost更改为给定ip的ISP?

2 个答案:

答案 0 :(得分:1)

127.0.0.1是内部ip(localhost)。当您连接到路由器时,它会为您分配另一个IP地址。 10.224.108.58是您的路由器分配的IP。见http://www.howtogeek.com/126304/why-is-the-localhost-ip-127.0.0.1/。当您未连接到互联网时,唯一可用的IP是localhost。

答案 1 :(得分:1)

当您连接到互联网时,您的笔记本电脑有IP地址10.224.108.58;当您没有连接到互联网时,没有IP地址与笔记本电脑相关联,因此使用默认的;默认值为127.0.0.1