【问题标题】:localhost doesn't resolve to 127.0.0.1localhost 无法解析为 127.0.0.1
【发布时间】: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.1ping;时间看起来一样。这表明(我不确定,也许其他人可以回答/确认)即使它显示分配给以太网端口的 IP 地址,它也不会通过网络发送数据。

标签: java macos localhost


【解决方案1】:

我遇到了同样的问题,这是因为我的主机名设置为 localhost。我改变了它,它解决了这个问题。

【讨论】:

    【解决方案2】:

    当未设置主机名时,我还在 MacOS (v10.9) 上看到了这种行为。转到系统偏好设置 -> 共享并验证计算机名称是否已填写。

    请注意,使用 127.0.0.1 是一种解决方法,但您可能希望正确解决这个问题,因为 localhost 应该是 127.0.0.1,如果不是,其他东西(如数据库连接等)可能会中断。

    【讨论】:

      【解决方案3】:

      与后来者切线相关:

      确认您正在请求正确的端口也可能很有用!

      Ping 可能工作正常,但如果您没有网络服务器在端口 :80 上侦听,那么您将不会在浏览器中得到任何响应...星期一早上的问题,嗯 XD

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-29
        • 2020-11-19
        • 1970-01-01
        • 1970-01-01
        • 2016-12-25
        • 2016-03-24
        相关资源
        最近更新 更多