Строка идентификации Google Anymote Discovery

Согласно документации по протоколу Google Anymote, устройство GoogleTV может быть обнаружено отправка пакетов mDNS.

В ответ устройство GoogleTV должно идентифицировать себя строкой "_anymote._tcp.local".

Однако, когда я отправляю пакет mDNS, я получаю ответ с NSZGT1-6017678.local.

Если документация неверна, я не вижу способа идентифицировать устройство как устройство GTV.

Есть ли что-то, что мне не хватает?

Например, только строка трансляции фактически возвращает какое-либо устройство в следующем коде:

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

person Steve    schedule 27.03.2012    source источник
comment
Попробуйте вызвать jmDNS.requestServiceInfo(gtv2, event.getName()); в методе serviceAdded (событие ServiceEvent), в результате которого вызывается метод serviceResolved (событие ServiceEvent), посмотрите, можете ли вы получить дополнительную информацию в методе serviceResolved (событие ServiceEvent).   -  person yorkw    schedule 30.03.2012


Ответы (1)


Видимо, mDNS не используется для обнаружения устройств, хотя может быть, просто нет возможности отфильтровать только GTV-устройства, которые я нашел.

Вместо этого сообщение передается по сети через порт 9101. См. следующую реализацию:

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

person Steve    schedule 28.03.2012