我无法在Raspberry Pi设备上启动并运行JmDNS。该应用程序适用于所有类型的x86 Linux,但在Raspberry上运行时(运行" Raspbian GNU / Linux 8(jessie)")它宣布的服务是不可见的。 avahi-daemon
宣布的服务(我手动启动)是可见的,所以我猜JmDNS实例的创建方式存在问题
JmDNS dns = JmDNS.create(InetAddress.getLocalHost())
答案 0 :(得分:1)
我听起来像是一个类似的问题,JmDNS在我的2台笔记本电脑和手机上发现和发布服务,但不是我的Pi。
我通过注释掉/ etc / hosts文件中列出的所有IP地址来修复它。之后我能够创建一个JmDNS实例。
或者在/ etc / hosts文件中添加一行,例如:
192.167.0.12 raspberrypi
IP地址是您要选择的地址(如果您知道的话)和" raspberrypi"是您的SERVICE_NAME的名称。然后你可以这样做:
InetAddress addr = InetAddress.getLocalHost();
String hostname = InetAddress.getByName(addr.getHostName()).toString();
jmdns = JmDNS.create(addr, hostname);