/ / NSNetService fonctionne-t-il uniquement avec le domaine .local? - ios, macos, bonjour

NSNetService fonctionne-t-il uniquement avec le domaine .local? - ios, macos, bonjour

j'ai un code CocoaHTTPServer qui publie le service en utilisant Bonjour. Et tt utilise NSNetService pour cela.

Cela fonctionne correctement (sous OS X et iOS) si vous définissez le domaine ".local". Toutefois, si vous définissez autre chose, il ne publie pas de service et n’appelle pas un délégué s’il n’a pas publié le serveur.

J'ai étudié cela et trouvé les informations suivantes.

Documentation de Classe NSNetService:

Cette classe et la classe NSNetServiceBrowser utilisent le DNS multidiffusion pour transmettre des informations sur les services réseau vers et depuis votre application.

Documentation de Noms de domaine Bonjour

Sur les systèmes Bonjour, local. est utilisé pour indiquer un nom qui devrait être recherché via une requête de multidiffusion IP sur le réseau IP local.

Ai-je bien compris que la classe NSNetService peut uniquement fonctionner avec un domaine .local et ne peut pas fonctionner avec un réseau étendu bonjour (différents domaines)?

P.S. Si je ne manque rien, j’ai l’intention de contacter Apple, car il est étrange de se disputer avec une seule valeur correcte et toutes les autres incorrectes (et non signalées d’erreurs).

Réponses:

2 pour la réponse № 1

NSNetService fonctionne avec des domaines autres que local..

Avant de publier votre service, utilisez NSNetServiceBrowser et - (void)searchForRegistrationDomains pour trouver des domaines d'enregistrement appropriés.

Pommes NSNetServices et CFNetServices Guide de programmation contient une section à propos de cet exemple de code: Recherche de domaines.