2011-08-04 47 views
1

我正在使用NSNetServices進行簡單的Bonjour廣播。當我在應用程序啓動/退出時啓動並停止bonjour共享時,一切都很好。但是,如果我使用stop方法調用關閉bonjour,即使netServiceDidStop:委託消息被調用後,我的應用仍然會廣播一個死的服務,這會阻止在重新啓動應用程序之前重新啓動服務。 Apple的文檔使它看起來非常簡單,只需發佈​​或根據需要停止......我錯過了什麼?停止方法調用後NSNetServices會持續嗎?

+0

你怎麼知道,它仍然是廣播? – Fabian

+0

我正在使用一個bonjour網絡瀏覽器,在這裏找到:http://www.tildesoft.com/它實時更新或多或少。 – slycrel

回答

0

似乎有時服務即使在不再可用時也會顯示。

從蘋果文檔:

由於未能出示有效的服務對用戶不是顯示一個陳舊的服務一個更大的問題,卓悅故意犯錯的假設一個服務仍然可用的一面。

雖然卓悅通常發現幾 秒鐘內新的服務,如果服務消失,服務的消失可能 不會,直到您的應用程序試圖連接到它並沒有得到響應 發現。

您不應該假設僅僅因爲Bonjour API報告發現的 服務,該服務在 軟件試圖訪問它時保證可用。

Connecting to and Monitoring Network Services: When resolving fails

相關問題