2017-09-01 8 views
0

J'ai une application qui doit rechercher et résoudre un service annoncé par Bonjour dont le nom est connu à l'avance. La plupart des exemples Bonjour j'ai trouvé liés à la découverte de services sont structurés plus ou moins comme ceci:Bonjour: Recherche d'un service par son nom

  1. Appel browse pour détecter tous les services d'un type donné (par exemple, cela pourrait être _http._tcp)
  2. Pour chaque service trouvé , serviceFound est appelée. Les noms de service sont signalés ici
  3. appel resolve sur chaque service présent
  4. Pour chaque service résolu, serviceResolved est appelé

Est-il possible avec Bonjour sauter l'étape « découverte », car je sais à l'avance la nom du service que je veux résoudre? Puis-je simplement détecter et résoudre un service avec un nom connu?

Répondre

0

Oui, vous pouvez commencer avec la 3ème étape si vous connaissez déjà le nom du service. Cela est dû au fait que cette étape est effectuée via une recherche DNS pour un enregistrement SRV avec le nom du service envoyé à une adresse de multidiffusion bien connue. Ainsi, aucune information préalable n'est nécessaire pour effectuer cet appel, et le répondeur mDNS doit être sans état, puisque le protocole DNS sous-jacent est sans état (chaque réponse est liée à une requête unique - aucun état n'est maintenu entre plusieurs requêtes).