SSDP Получить список общих папок с помощью M-SEARCH? - PullRequest
1 голос
/ 22 сентября 2010

Я использую SSDP для отправки запроса на обнаружение, используя M-SEARCH, чтобы получить список имеющихся услуг Мое требование таково, что я хочу получить список общих папок, также присутствующих на этом сервере.

В настоящее время я отправляю этот запрос в следующем формате:

"M-SEARCH * HTTP/1.1\r\n"
    "Host: 239.255.255.250:1900\r\n" 
    "Man: \"ssdp:discover\"\r\n"
    "ST:upnp:rootdevice\r\n"
    "MX:3\r\n"
    "\r\n";

И я получаю ответ как эти параметры:

ST:upnp:rootdevice
USN:uuid:122261ae-7c37-4234-9366-ed5286752f2b::upnp:rootdevice
Location:http://172.24.17.221:2869/upnphost
Cache-Control:: max-age = 900
Server:: Linux

Я также хочу иметь список общих папок, который присутствует на этом сервере. Как я могу получить это? Любой дополнительный параметр мне нужно указать? Любой фрагмент кода или идеи приветствуются.

1 Ответ

0 голосов
/ 18 декабря 2014

Насколько известно, невозможно получить какие-либо общие папки только с SSDP.SSDP предоставляет вам список служб, но теперь ваша очередь подключаться к службе и «запрашивать» общие папки.

В вашем примере вам необходимо подключиться к:

Location:http://172.24.17.221:2869/upnphost

Это даст вам конфигурацию устройства, включая поддерживаемые услуги.Чем вам нужно будет внедрить протокол той службы, которую вы хотите / нуждаетесь для получения общих папок.Например, служба ContentDirectory предоставляет папки и т. Д.

Это требует гораздо больше средств, чем простой запрос M-SEARCH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...