【问题标题】:Google Anymote Discovery Identification StringGoogle Anymote 发现标识字符串
【发布时间】:2012-03-30 06:51:30
【问题描述】:

根据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());             
    }
});

【问题讨论】:

  • 尝试调用 jmDNS.requestServiceInfo(gtv2, event.getName());在 serviceAdded(ServiceEvent event) 方法中,结果 serviceResolved(ServiceEvent event) 方法被调用,看看你是否可以在 serviceResolved(ServiceEvent event) 方法中获得更多信息。

标签: google-tv jmdns


【解决方案1】:

显然 mDNS 不用于发现设备,尽管可以,但无法仅过滤掉我发现的 GTV 设备。

而是在网络上的 9101 端口上广播一条消息。请参阅以下实现:

http://code.google.com/p/google-tv-remote/source/browse/src/com/google/android/apps/tvremote/BroadcastDiscoveryClient.java

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 2023-01-23
    • 2012-06-09
    • 1970-01-01
    • 2014-12-02
    相关资源
    最近更新 更多