我无法在Raspberry Pi设备上启动并运行JmDNS。该应用程序可以在各种x86 Linux上正常运行,但是在Raspberry(运行“ Raspbian GNU / Linux 8(jessie)”)上启动时,它所声明的服务是不可见的。 avahi-daemon
宣布的服务(我手动启动)是可见的,因此我想JmDNS实例的创建方式存在问题
JmDNS dns = JmDNS.create(InetAddress.getLocalHost())
最佳答案
我遇到了类似的问题,JmDNS正在我的2台笔记本电脑和手机上发现并发布服务,而我的Pi却没有。
我通过注释掉/ etc / hosts文件中列出的所有IP地址来修复它。之后,我可以创建一个JmDNS实例。
或者,在/ etc / hosts文件中添加一行,例如:
192.167.0.12 raspberrypi
IP地址是您要选择的IP地址(如果知道的话),“ raspberrypi”是SERVICE_NAME的名称。然后,您可以执行以下操作:
InetAddress addr = InetAddress.getLocalHost();
String hostname = InetAddress.getByName(addr.getHostName()).toString();
jmdns = JmDNS.create(addr, hostname);
关于java - JmDNS不在Raspberry上宣布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38146124/