2010-03-14 103 views
1

Bonjour提供了瀏覽特定類型服務的「DNSSD.browse(serviceType,callBackObject)」方法。如果找到給定類型的服務,Bonjour將調用「callBackObject.serviceFound」。如果服務丟失,Bonjour會調用「callBackObject.serviceLost」。Can Bonjour可以使用特定名稱瀏覽服務嗎?

我一直認爲「DNSSD.browse」是一種監視特定服務的方法。如果發現(可用)或丟失(不可用)服務,Bonjour監視特定服務並調用必要的方法。

但是,我發現「DNSSD.browse」收到(作爲參數)一種服務(例如「http .tcp」),並且可能有多種此類服務。因此,如果找到或丟失了指定類型的任何服務,它可能會分別調用「serviceFound」和「serviceLost」。

但在我的應用程序中,我想瀏覽一個特定的服務。什麼是最好的方式來做到這一點?我有兩個潛在的解決方案:

  1. 當我註冊一項服務時,我給它一個獨特的類型。例如:「server1。http .tcp」。

  2. 我註冊具有唯一名稱(不是類型)的服務,並要求Bonjour瀏覽具有特定名稱的服務。但我不確定卓悅是否提供這種可能性。它可以瀏覽具有特定名稱的服務嗎?

回答

1

你的第一個選擇讓我成爲最好的選擇。服務名稱可以添加 服務實例名稱,以便您的服務可以使用 名稱(但帶有適當的下劃線), 「server1._http._tcp」。使用該服務名稱時,服務應當在瀏覽「_http._tcp」時顯示 ,如果需要更具體的查詢,則顯示「server1._http._tcp」 。 DNSSD.browse應該有 完全支持這種類型的服務名稱。

相關問題