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