Bonjour предоставляет метод "DNSSD.browse (serviceType, callBackObject)", который просматривает службы определенного типа. Если служба данного типа найдена, Bonjour вызывает callBackObject.serviceFound. Если служба потеряна, Bonjour вызывает callBackObject.serviceLost.
Я всегда рассматривал DNSSD.browse как метод мониторинга определенной службы. Bonjour отслеживает конкретную службу и вызывает необходимый метод, если служба найдена (доступна) или потеряна (недоступна).
Но потом я понял, что «DNSSD.browse» получает (в качестве аргумента) тип сервиса (например, «http .tcp») и может быть несколько сервисов этого типа. Таким образом, он, вероятно, вызывает "serviceFound" и "serviceLost", если какая-либо служба указанного типа обнаружена или потеряна, соответственно.
Но в моем приложении я хотел бы просмотреть только одну конкретную услугу. Как лучше всего это сделать? У меня есть два возможных решения:
Когда я регистрирую услугу, я даю ей уникальный тип. Например: «server1. http .tcp».
Я регистрирую службы с уникальными именами (не типами) и прошу Bonjour найти службы с определенными именами. Но я не уверен, что Bonjour предоставляет такую возможность. Может ли он искать сервисы с определенными именами?