java - 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 地址是正确的。我试图弄清楚是什么原因造成的。
解决方案
编辑/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
推荐阅读
- java - Spring Jpa 存储过程中的多个输出参数-异常“找不到类型的属性”
- javascript - Map 方法仅显示列表中的一项
- angular - Angular 9将表单重置为一个字段是数组的原始状态
- recaptcha - 隐形 reCAPTCHA v2 得到响应?
- android - Android Studio 失去与设备的连接,说 IGmsServiceBroker.getService 失败
- vba - 无法引用属性或方法/类型不匹配 Microsoft Access
- python - 如何从 structlog 中隐藏 Celery 任务 ID?
- c++ - 从格式化中排除 MQL4 颜色(例如 C'250,250,250')
- python - 按列而不是按行编写熊猫系列
- c# - 我有关于线段的所有信息如何计算它的点