Какие устройства отвечают на дейтаграмму обнаружения SSDP

Я создал простое приложение для Android для сканирования локальной сети; Я использовал M-SEARCH с этой целью поиска:

  String sentence = "M-SEARCH * HTTP/1.1\r\n"
      + "HOST: 239.255.255.250:1900\r\n"
      + "MAN: \"ssdp:discover\"\r\n"
      + "MX: 10\r\n"
      + "ST: ssdp:all\r\n"
      + "\r\n";

Мне просто нужно позаботиться о телевизорах в сети, поэтому:

  • Как я мог узнать из ответа M-SEARCH, какое устройство отвечает?

  • Есть ли цель поиска, которая может соответствовать всем телевизионным устройствам?

Спасибо!


person vanderflo    schedule 05.09.2014    source источник


Ответы (1)


Вы можете искать определенные типы устройств (и типы служб), установив заголовок ST в urn типа устройства или службы (например, «urn:schemas-upnp-org:device:MediaRenderer:1»). Точно так же в ответе заголовок ST сообщит вам, что такое тип устройства/службы.

Нет цели поиска, которая могла бы соответствовать всем телевизорам, потому что «телевизор» не является устройством, определенным UPnP Forum или DLNA: телевизор, который «поддерживает DLNA», может быть просто медиаплеером и вообще не отображаться в M-SEARCH. Если вы хотите искать UPnP MediaRenderers (устройство, часто реализуемое телевизорами), то ST, который я дал выше, должен быть полезен.

person Jussi Kukkonen    schedule 05.09.2014