2011-08-04 9 views
1

NSNetServicesを使って簡単なボンジュール放送をしています。アプリケーションの起動/終了時にBonjour共有を開始して停止すると、すべてがうまくいきます。しかし、stopメソッド呼び出しを使用してbonjourをオフにした場合、netServiceDidStop:デリゲートメッセージが呼び出された後でも私のアプリケーションはデッドサービスをブロードキャストしているように見えます。これにより、アプリケーションの再起動後までサービスが再開されません。 Appleのマニュアルでは、見た目は非常に分かりやすく、必要に応じて公開したり停止したりすることができます...何か不足していますか?NSNetServiceは、メソッド呼び出しの終了後も持続しますか?

+0

はどのようにあなたはそれがまだ放送だことを知っていますか? – Fabian

+0

私はここにあるbonjourネットワークブラウザを使用しています:http://www.tildesoft.com/リアルタイムで多かれ少なかれ更新されます。 – slycrel

答えて

0

サービスが利用できなくなった場合でもサービスが表示されることがあります。

アップルのドキュメントから:

有効なサービスを表示するために失敗すると、古いサービスを示すよりもユーザにとって大きな問題であるため、Bonjourが故意にサービスがまだ利用可能であると仮定するとの側面にERRS。

のBonjourは一般に数 秒以内に新たなサービスを発見するが、サービスが消えた場合、アプリケーションがそれに接続しようとすると何 応答を取得しないまで、サービスの消失が 発見されない場合があります。

あなたはBonjourのAPIが 発見サービスを報告という理由だけで、サービスが ソフトウェアがアクセスしようとしたときに利用可能であることが保証されていることを仮定するべきではありません。

Connecting to and Monitoring Network Services: When resolving fails

関連する問題