我正在尝试创建一个MediaServer UPNP程序,以便将视频从我的手机摄像头流式传输到我的PC。我使用英特尔设备间谍发送M-SEARCH请求,并使用Wireshark捕获网络数据包。
这是M搜索数据包
(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
我没有收到以下对 192.168.1.23 的 HTTP GET 请求。我将其与其他有效的UPNP设备响应进行了比较,并且没有看到任何差异。我尝试了不同的源端口,但没有成功。有什么想法吗?
@simonc,谢谢。我的消息末尾确实有一个\r,但我添加了另一个(也添加到通知消息中),现在我可以看到我的设备。