/ / NSNetServiceは.localドメインでのみ機能しますか? --ios、macos、bonjour

NSNetServiceは.localドメインでのみ動作しますか? -iOS、macos、Bonjour

私はコードをもっている CocoaHTTPServer Bonjourを使用してサービスを公開します。そして、ttはこれにNSNetServiceを使用します。

ドメイン「.local」を定義すると、(OS XとiOSの両方で)正常に機能します。ただし、他に何かを定義した場合、サービスは公開されず、サーバーを公開しなかったデリゲートは呼び出されません。

私はこれを調査し、次の情報を見つけました。

からのドキュメント NSNetServiceクラス

このクラスとNSNetServiceBrowserクラスは、マルチキャストDNSを使用して ネットワークサービスに関する情報をあなたとの間で伝達します 応用。

からのドキュメント Bonjourドメイン名

Bonjourシステムでは、ローカル。あるべき名前を示すために使用されます ローカルIPネットワークでIPマルチキャストクエリを使用して検索しました。

NSNetServiceクラスは.localドメインでのみ機能し、広域bonjour(異なるドメイン)では機能しないことを正しく理解していますか?

追伸何も欠けていない場合は、Appleに連絡する予定です。正しい値が1つだけで、他のすべてが正しくない(エラーによって報告されない)引数があるのは奇妙だからです。

回答:

回答№1は2

NSNetService 以外のドメインで動作します local..

サービスを公開する前に、 NSNetServiceBrowser そして - (void)searchForRegistrationDomains 適切な登録ドメインを見つけるため。

りんご NSNetServicesおよびCFNetServicesプログラミングガイド サンプルコードを含むこれに関するセクションが含まれています: ドメインの閲覧.