根据Google Anymote Protocol documentation,可以通过发送mDNS数据包来发现GoogleTV设备。
GoogleTV设备应通过标识字符串“ _anymote._tcp.local ”进行回复。
但是,当我发送mDNS数据包时,我会收到 NSZGT1-6017678.local 的回复。
除非文档不正确,否则我看不到将设备识别为GTV设备的方法。
我有什么遗失的吗?
例如,只有airplay字符串实际返回以下代码中的任何设备:
String airplay = "_airplay._tcp.local.";
String gtv1 = "_anymote._tcp.local.";
String gtv2 = "_anymote._tcp.local";
JmDNS jmDNS = JmDNS.create();
jmDNS.addServiceListener(gtv1, new ServiceListener() {
public void serviceResolved(ServiceEvent event) {}
public void serviceRemoved(ServiceEvent event) {}
public void serviceAdded(ServiceEvent event) {
System.out.println("Service added: " + event.getName() + " " + event.getInfo().getName());
}
});
答案 0 :(得分:0)
显然mDNS并不用于发现设备,虽然它可以,但是没有办法过滤掉我找到的GTV设备。
而是在端口9101上在网络上广播消息。请参阅以下实现: