2017-09-01 42 views
0

我有一個應用程序需要搜索並解析名稱已知的Bonjour廣告服務。大多數卓悅的例子,我發現有關服務發現的結構或多或少這樣的:Bonjour:按名稱搜索服務

  1. 呼叫browse檢測給定類型的所有服務(例如,這可能是_http._tcp
  2. 對於找到的每個服務,serviceFound被調用。服務名稱均爲此報告
  3. 上的每個服務呼叫resolve發現
  4. 對於每個服務解決,serviceResolved

是否有可能使用Bonjour跳過「發現」階段,由於我事先知道我想要解決的服務名稱?我可以只使用已知名稱檢測並解決服務嗎?

回答

0

是的,如果您已經知道服務的名稱,則可以從第3步開始。這是因爲此步驟是通過DNS查找來執行的,該查找具有發送到衆所周知的多播地址的服務名稱的SRV記錄。因此,由於底層DNS協議是無狀態的(每個響應都綁定到一個唯一的請求 - 幾個請求之間沒有狀態保持),因此不需要先前的信息來進行此調用,並且mDNS響應方必須是無狀態的。