2017-02-01 2 views
1

Я пытаюсь создать программу MediaServer UPNP для потоковой передачи видео с моей камеры телефона на свой компьютер. Я использовал шпион Intel для отправки запроса M-SEARCH и использовал Wireshark для захвата сетевых пакетов.Ответ UPNP M-SEARCH не дает HTTP-запроса GET. Зачем?

Здесь M-SEARCH пакет

(Src: 192.168.1.28, Dst: 239.255.255.250; Src Port: 50852, Dst Port: 1900, time 2.09) 
M-SEARCH * HTTP/1.1 
ST: upnp:rootdevice 
MAN: "ssdp:discover" 
MX: 5 
HOST: 239.255.255.250:1900 

Вот UDP ответ

(Src: 192.168.1.23, Dst: 192.168.1.28; Src Port: 53359, Dst Port: 50852) 
HTTP/1.1 200 OK 
CACHE-CONTROL: max-age=1810 
DATE: Wed, 1 Feb 2017 02:07:36 GMT 
EXT: 
LOCATION: http://192.168.1.23:49156/details.xml 
SERVER: Linux/2.x.x, UPnP/1.0, pvConnect UPnP SDK/1.0, TwonkyMedia UPnP SDK/1.1 
ST: upnp:rootdevice 
USN: uuid:3d64febc-ae6a-4584-853a-85368ca80800::upnp:rootdevice 
Content-Length: 0 

я не получаю следующий HTTP GET запрос на 192.168.1.23. Я сравнил его с другими ответами устройства UPNP, которые работали, и не видел никакой разницы. Я пробовал разные исходные порты, но без успеха. Есть идеи?

+0

Итак, вы используете Device Spy для отправки запроса M-SEARCH, и устройство отвечает. Непонятно _who_ вы ожидаете сделать HTTP-запрос GET для описания устройства ... – jku

+0

Заголовок 'Content-Length' в вашем ответе не требуется (или, возможно, не разрешен), спецификации UPnP немного расплывчаты). Попробуйте удалить его. – simonc

+1

@jku Device Spy обычно делает запрос GET для устройства xml автоматически при получении действительного пакета SSDP (как ответа MSEARCH, так и NOTIFY) – simonc

ответ

1

@simonc, спасибо. В конце моего сообщения у меня было \ r \ n, но я добавил еще один (к сообщению NOTIFY), и теперь я вижу свое устройство.

Смежные вопросы