【发布时间】:2011-08-24 12:14:41
【问题描述】:
我打电话给Inet4Address.getByName("localhost") 期望看到127.0.0.1,但我看到我的IP 分配给了我的以太网/机场。如果我断开我的以太网/机场,我将得到127.0.0.1 的分辨率,但一旦我再次连接,它就会解析为以太网/机场的 IP 地址。
我使用的是 OSX 10.6.7 和 java 版本“1.6.0_24”。我的 /etc/hosts 文件有 "127.0.0.1 localhost"。在终端中 Ping localhost 确实解析为 127.0.0.1。
我需要这个的原因是我正在做 GWT 开发,我有一个不同的 JVM 试图调用 GWT 托管模式,我得到一个 ConnectionException: connection denied, if localhost does not resolve to 127.0. 0.1.
谢谢
【问题讨论】:
-
如果您已经知道必须转到 127.0.0.1,那么只需指向它而不是解析。它可以是特定于平台的,因为在我的 linux 机器上它解析 127.0.0.1
-
我不拥有进行调用的代码,但如果我不知道如何使其工作,我会要求人们进行更改。
-
尝试像“Localhost”一样大写,看看是否有区别。
-
看看stackoverflow.com/questions/7382602/… 简而言之,这似乎是一个名称解析怪癖。在我的机器(Mac OSX)上,我用以太网端口的 IP 地址尝试了
ping 127.0.0.1和ping;时间看起来一样。这表明(我不确定,也许其他人可以回答/确认)即使它显示分配给以太网端口的 IP 地址,它也不会通过网络发送数据。