首页 > 解决方案 > jmDNS Ubuntu IP 解析地址错误

问题描述

我在 Ubuntu 18.04 上运行一个使用 jmDNS 库进行发现的服务器。初始化它的代码是:

   jmDNS = JmDNS.create(InetAddress.getLocalHost());
        serviceInfo = ServiceInfo.create("_http._tcp.local.", "Service", 65534, "Ready");

但是,当它在另一台机器上的客户端上解析时,IP 地址是 127.0.1.1。客户端配置如下:

  jmdns = JmDNS.create(InetAddress.getLocalHost());

当我在非 Ubuntu 机器上运行它时,IP 地址是正确的。我试图弄清楚是什么原因造成的。

标签: javajmdns

解决方案


编辑/etc/hosts文件

注释掉以开头的第二行127.0.1.1

所以你的/etc/hosts文件应该是这样的:

127.0.0.1       localhost
#127.0.1.1      your-pc-name

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

参考:https ://serverfault.com/questions/363095/why-does-my-hostname-appear-with-the-address-127-0-1-1-rather-than-127-0-0-1-在


推荐阅读