UPnp запрос Windows Phone 8

Я пытаюсь сделать простое приложение DLNA/UPnp для Windows Phone 8. Все, что я получил сейчас, это приложение "Обозреватель устройств", которое отправляет XML в широковещательном режиме через определенный порт через Udp и получает ответы от всех устройств DLNA.

Далее я хочу отправить запрос на одно из этих устройств. Это должно быть через Udp (чтобы быть совместимым с UPnp), и запрос также является XML. Моя проблема в том, что когда я отправляю широковещательное сообщение, я использую это:

sendEvent = new SocketAsyncEventArgs();
sendEvent.RemoteEndPoint = new IPEndPoint(IPAddress.Parse("239.255.255.250"), 1900);
[...]

Но в запросе (как я хорошо понял) я должен отправить его по адресу:

http: //19...:2869/upnphost/udhisapi.dll?event=uuid:9f7f98d8-2e8e-495c-9126-02a9f8d8b253+urn:upnp-org:serviceId:ContentDirectory

это хорошо, чтобы слушать.

Я не знаю, как добиться этого в Windows Phone, так как я полагаю, что WebClient переходит через TCP. Есть идеи?

заранее спасибо

1 ответ

Вывод из вашей строки URL:

http ://19...:2869/upnphost/udhisapi.dll?event=uuid:9f7f98d8-2e8e-495c-9126-02a9f8d8b253+urn:upnp-org:serviceId:ContentDirectory

Вы пытаетесь подписать событие ContentDirectoryService на сервере Windows Media.

Я понимаю ABS_PATH в SUBSCRIBE ABS_PATH HTTP/1.1 это действительно сбивает с толку во многих senerio, для некоторых стандартных реализаций httpClient обычно принимают только URL и разбирают в HOST а также REL_PATH,

Не знаком с C#, но в этом есть ли способ сделать PUT с WebClient? есть способ переопределить WebClient.UploadString Метод, так что вы можете написать свой собственный метод и путь.

Другие вопросы по тегам