sie*_*nko 5 java networking android jmdns
所以我试图在Android 3.2.1(HTC Flyer)上使用jmdns,我正在使用jmdns进行服务发现.一切都很好,除了我的三个设备之一(其余的工作正常)是广播IPv6地址而不是IPv4.这非常奇怪,因为它们都通过DHCP连接到我的家庭网络,因此它们都被分配了IPv4地址.
所以在我的设备上运行
android.net.wifi.WifiManager wifi = (android.net.wifi.WifiManager) getSystemService(android.content.Context.WIFI_SERVICE);
multicastLock = wifi.createMulticastLock("mylockthereturn");
multicastLock.setReferenceCounted(true);
multicastLock.acquire();
try {
jmdns = JmDNS.create();
jmdns.registerServiceType(jmdnsType);
String jmdnsName = /* Read from db */;
serviceInfo = ServiceInfo.create(jmdnsType, huggler_id, server.getLocalPort(), " blah blah");
jmdns.registerService(serviceInfo);
Log.d(TAG, "JMDNS service registered on ip " + jmdns.getInterface());
} catch (IOException e) {
Log.e(TAG, "Error creating JMDNS service (" + e.getMessage() + ")");
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
它打印出漂亮的IPv4 IP,它实际上匹配了我的网络分配的(成功).
但是当我运行在其他设备上发现服务的代码时.
for(ServiceInfo si : jmdns.list(jmdnsType, 6000)) { // timeout: 6s
if (si.getName().equals(jmdnsNAme))
continue;
try {
Log.d(TAG, "Host has " + si.getInet4Addresses().length + " v4 addresses. ");
Log.d(TAG, "Host has " + si.getInet6Addresses().length + " v6 addresses. ");
}
Run Code Online (Sandbox Code Playgroud)
当它发现Flyer时,它只显示一个v6地址.
任何人都可以提出可能发生的事情?
我正在使用Jmdns 3.4.0(3.4.1根本不起作用!)而且我是一个zeroconf新手.
更新:
一些新信息:
D/Huggler ( 5691): Host has 0 v4 addresses.
D/Huggler ( 5691): Host has 1 v6 addresses.
D/Huggler ( 5691): Host IPv6 address is fe80::66a7:69ff:feeb:9083
D/Huggler ( 5691): Host IPv6 hostname is fe80::66a7:69ff:feeb:9083
D/Huggler ( 5691): Host is linklocal true
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助解释这些吗?
看到同样的问题,但在调用jmDNS.create时传入InetAddress似乎可以解决问题.
所以尝试类似的东西:
WifiManager wifi = (WifiManager)getActivity().getSystemService(android.content.Context.WIFI_SERVICE);
String ip = Formatter.formatIpAddress(wifi.getConnectionInfo().getIpAddress());
jmdns = JmDNS.create(InetAddress.getByName(ip));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |