簡體   English   中英

DLNA可發現性問題

[英]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設備獲得響應。 但是有時候我沒有。

更大的問題是,如果我一次收到響應,然后再次廣播發現消息,則第二次或以后都不會收到設備的響應。

我閱讀文檔的方式是要求設備響應這些廣播消息。

我有兩個問題:

  1. 設備多長時間響應一次發現消息是否有限制?

  2. 有沒有辦法解決這個問題,迫使/欺騙我第二次給我答復?

我發現M-SEARCH有兩個可能的問題(或者在任何情況下都不是100%符合性):

  • 最后應該有一個空行
  • MX的最大值為5

關於不接收答復:丟失消息當然可能是有原因的(錯誤),但是請注意,您絕對不信任消息傳遞,因為它是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM