質問

UPNPデバイスのコードを作成して、それ自体を発表しています。ネットワーク上の他のUPNPデバイスを発見できることに興味がありません。私は次のメッセージを送信しています(Wiresharkから取得)

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 

デバイスは発見されません(他のUPNPデバイスが表示されるWin 7ページで または、UPNPテクノロジーのIntelのデバイススパイで -- 更新を参照してください)。 2つの質問があります。まず、これらのメッセージのすべてが必要ですか?第二に、なぜ私のデバイスが発見されないのか誰にもわかりますか?

他の情報:

私のrdd2.xmlデバイスの説明ファイル

<?xml version="1.0"?>
<root>
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>

<device>
<deviceType>urn:schemas-upnp-org:device:BinaryLight:1</deviceType>
<friendlyName>RFLC</friendlyName>
<manufacturer>Legrand</manufacturer>
<manufacturerURL>http://www.legrand.us/</manufacturerURL>
<modelDescription>Legrand Low Cost RF Lighting Control</modelDescription>
<modelName>X-10L1</modelName>
<modelNumber>L1</modelNumber>
<modelURL>http://www.legrand.us/</modelURL>
<serialNumber>0000001</serialNumber>
<UDN>uuid:0000-1111-2222-3333</UDN>
<UPC>00000-00001</UPC>
<presentationURL>pres.html</presentationURL>
</device>
</root>

Wiresharkからの情報(1つのMSGSフレームリストのダウンビュー)
+フレーム.....
+イーサネットII、SRC: 私のデバイス 、DST:239.255.255.250
+インターネットプロトコル、SRCポート:SSDP(1900)、DSTポート:SSDP(1900)
- ハイパーテキスト転送プロトコル
...上からのmsgsはここにあります...

更新:i できる IntelのUPNPユーティリティのデバイスを参照してください。それはそれを書く間違いでした。デバイスはデバッガーの下で実行されており、デバッガーなしで再起動すると、ユーティリティで発見されました。 Windows 7でまだ表示されていませんか?何かご意見は?

役に立ちましたか?

解決

Server:は必須のヘッダーであるように見えます - 私がプレイしていた少なくとも1つのクライアントは、サーバーのない通知が好きではありませんでした。

他のヒント

何らかのクレイジーな理由で、私はこのフィールドを余分なスペースを設定するように設定したとき、私は運が良かった:キャッシュコントロール:最大時代= 900 r n

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top