将我的 android 设备设置为热点/接入点 (AP),如何使用 JmDNS(3.4.0) 查找连接到此 AP 的其他设备?
以正常方式创建 JmDNS 实例时,使用常规 AP 一切正常;
jmdns = JmDNS.create();
但是将我的设备用作 AP 会引发异常。
java.net.SocketException: No such device
at org.apache.harmony.luni.platform.OSNetworkSystem.setSocketOption(Native Method)
at dalvik.system.BlockGuard$WrappedNetworkSystem.setSocketOption(BlockGuard.java:382)
at org.apache.harmony.luni.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:198)
at org.apache.harmony.luni.net.PlainDatagramSocketImpl.join(PlainDatagramSocketImpl.java:137)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:190)
at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:459)
at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:420)
at javax.jmdns.JmDNS.create(JmDNS.java:60)
我也尝试使用本地 IP 创建 JmDNS 实例
jmdns = JmDNS.create( InetAddress.getByName("192.168.1.1") );
这只是抛出相同的异常。
如何让 JmDNS 找到连接到本地 AP 的服务?