[英]DLNA Discoverability problems
我正在廣播這樣的發現消息:
M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nMAN: \"ssdp:discover\"\r\nMX: 10\r\nST: ssdp:all\r\n
通常我會從DLNA設備獲得響應。 但是有時候我沒有。
更大的問題是,如果我一次收到響應,然后再次廣播發現消息,則第二次或以后都不會收到設備的響應。
我閱讀文檔的方式是要求設備響應這些廣播消息。
我有兩個問題:
設備多長時間響應一次發現消息是否有限制?
有沒有辦法解決這個問題,迫使/欺騙我第二次給我答復?
我發現M-SEARCH有兩個可能的問題(或者在任何情況下都不是100%符合性):
關於不接收答復:丟失消息當然可能是有原因的(錯誤),但是請注意,您絕對不信任消息傳遞,因為它是UDP而不是TCP。 這就是為什么即使按照規范,每個M-SEARCH也應該發送幾次的原因。
如果我沒記錯的話,UPnP規范含糊地建議“百毫秒”作為發現消息的最小重復頻率。
以上所有內容的來源都是UPNP拱形文檔,或者我對它的記憶。 我幾乎100%地確定DLNA在這些方面有額外的要求,但是我不記得這些了……這些可能的額外要求可能不會使設備無法響應您。
編輯:哎呀,我已經打開了DLNA規范,所以為什么不呢:您應該發送多個1 M-SEARCH。 每200 ms的周期不應超過10 M-SEARCH。 原件和副本應在10秒內寄出。 對於任何網絡延遲,您都應該等待MX
秒加上一兩秒鍾的答復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.