Network programming UPnP公告发出,但未发现设备

Network programming UPnP公告发出,但未发现设备,network-programming,upnp,discovery,Network Programming,Upnp,Discovery,我正在为一个UPnP设备编写代码来发布它自己。我对能够在网络上发现其他UPnP设备不感兴趣。我正在发送以下消息(摘自wireshark) 及 及 该设备将不会被发现(无论是在Win 7页面上我看到的其他UPnP设备上,还是在Intel的device Spy for UPnP Technologies上--请参见更新)。我有两个问题。首先,所有这些信息都是必要的吗?第二,有人知道为什么我的设备不会被发现吗 其他资料: 我的rdd2.xml设备描述文件 1 0 urn:schemas-up

我正在为一个UPnP设备编写代码来发布它自己。我对能够在网络上发现其他UPnP设备不感兴趣。我正在发送以下消息(摘自wireshark)

该设备将不会被发现(无论是在Win 7页面上我看到的其他UPnP设备上,还是在Intel的device Spy for UPnP Technologies上--请参见更新)。我有两个问题。首先,所有这些信息都是必要的吗?第二,有人知道为什么我的设备不会被发现吗

其他资料:

我的rdd2.xml设备描述文件




1

0


urn:schemas-upnp-org:device:BinaryLight:1

RFLC

Legrand

http://www.legrand.us/

罗格朗低成本射频照明控制

X-10L1

L1

http://www.legrand.us/

0000001

uuid:0000-1111-2222-3333

00000-00001

pres.html


以及wireshark提供的一些信息(从一个msgs帧列表向下查看)
+帧…
+以太网II,Src:my设备,Dst:239.255.255.250
+互联网协议,Src端口:ssdp(1900),Dst端口:ssdp(1900)
-超文本传输协议
... 上面的MSG在这里


更新:我可以在英特尔的upnp实用程序上查看该设备。写那个是个错误。该设备在调试器下运行,一旦在没有调试器的情况下重新启动,它就会在实用程序中发现。但我还是无法在Windows7上看到它?有什么想法吗?

出于某种疯狂的原因,当我将此字段设置为具有额外空间时,我会运气更好:
CACHE-CONTROL:max age=900\r\n

服务器:似乎是一个必需的标头--我玩的至少一个客户端不喜欢没有服务器的通知:

您是否将通过wireshark获得的数据与确实被发现的设备进行了比较?啊,是的,很好,我忘了提及这一点。我有,我能看到的唯一不同的是应该不同的东西(即uuid、位置等)。
服务器:
是必需的,并且必须包含
UPnP/1.x
,例如1.0或1.1,以便将此
ssdp
公告识别为
UPnP
NOTIFY * HTTP/1.1\r\n
NT: upnp:rootdevice\r\n
USN: uuid:0000-1111-2222-3333::upnp:rootdevice\r\n
NTS: ssdp:alive\r\n
LOCATION: http://192.168.40.8:80/rdd2.xml\r\n
HOST: 239.255.255.250:1900\r\n
CACHE-CONTROL: max-age=900\r\n
Content-Length: 0\r\n
\r\n   
NOTIFY * HTTP/1.1\r\n
NT: urn:schemas-upnp-org:device:BinaryLight:1\r\n
USN: uuid:0000-1111-2222-3333::urn:schemas-upnp-org:device:BinaryLight:1\r\n
NTS: ssdp:alive\r\n
LOCATION: http://192.168.40.8:80/rdd2.xml\r\n
HOST: 239.255.255.250:1900\r\n
CACHE-CONTROL: max-age=900\r\n
Content-Length: 0\r\n
\r\n 
NOTIFY * HTTP/1.1\r\n
NT: uuid:0000-1111-2222-3333\r\n
USN: uuid:0000-1111-2222-3333\r\n
NTS: ssdp:alive\r\n
LOCATION: http://192.168.40.8:80/rdd2.xml\r\n
HOST: 239.255.255.250:1900\r\n
CACHE-CONTROL: max-age=900\r\n
Content-Length: 0\r\n
\r\n