2012-11-26 70 views
1

我編程一些關於UPnP和我想清楚了:) 當我與多播M搜索消息搜索某些內容,設備必須作出反應,像這樣的東西(這是不完整的消息,我縮短它)的UPnP,設備演示地址

HTTP/1.1 200 OK 
CACHE-CONTROL: max-age = seconds until advertisement expires 
DATE: when response was generated 
EXT: 
LOCATION: URL for UPnP description for root device 

所以,位置是一些IP和端口,從哪裏我可以得到的描述。現在,我想用單播搜索特定設備。我的問題是:當我嘗試使用UNICAST搜索消息搜索此設備時,可以使用此地址嗎?或設備正在監聽另一個單播msearch消息的地址? :)我已閱讀UPnP設備架構PDF文件

回答

1

是的,你可以和必須繼續與單播。 LOCATION不僅是「某些IP和端口」,而是設備描述的完整資源位置。你不能多播到一個單一的地址:)沒有更多的「搜索此設備」做。您只需使用HTTP GET請求該URL。你將基本上得到更多的特定服務的URL。

如果你是「編程一些有關的UPnP」,並具有這樣的基本問題,我建議下載UPnP specifications bundle和閱讀文檔UPnP的拱DeviceArchitecture。它以可理解的步驟描述了UPnP的搜索和查詢階段的工作原理。

在OP的澄清更新:

重新發現的設備的情況作爲單播請求發送給IP從原始響應已知的(多播SEARCH)和任一標準端口1900或特定的端口,如果設備宣佈本身通過NOTIFY多播消息的值爲SEARCHPORT.UPNP.ORG。因此,如果設備需要重新發現,並沒有宣佈本身,端口默認爲1900年也見下頁32 UPnP設備結構中,HOST頭字段的描述。

不過請注意,這樣的重新發現不應該是必要的,或者很少。 UPnP設備預期在連接到網絡與ssdp:update類型的NOTIFY多播分組到宣告它們自己,並且在斷開鍵入ssdp:byebye。此外,大多數設備具有已變量變量,控制點應自動訂閱,並以固定租賃時間(默認30分鐘)續訂訂閱。所以無論如何會發現設備的突然消失(由於訂購失敗而失敗)。

+0

TY的反應,我可能wasnt很清楚:)這裏是什麼,我試圖做的:在beginnig,我正在尋找下發給組播與MSEARCH所有設備。所以,我發現我的具體設備(我有他的演示地址),我想確保設備仍然可用,可以說,每10分鐘。根據upnp設備體系結構(第31頁),通過發送單播msearch到他的地址可以發現單個設備,我不知道(這是我的問題:))。 – user1453857

+0

ty,這正是我需要的,我錯過了它:/ – user1453857