Не стоит искать во всех доменах, но я не могу найти правильный способ поиска каких-либо сервисов в сети.Как получить список всех объявленных услуг bonjour на всех доступных доменах?
ответ
Старая нить, но есть способ найти местные услуги Discovering all advertised Bonjour service types. Вам нужно будет сделать некоторые манипуляции с результатами, чтобы получить типы в правильном формате. Это работает на Mac & iPhone, хотя никаких служб не обнаружено, если у меня нет Wi-Fi-соединения на iPhone.
NSNetServiceBrowser* domainBrowser = [[NSNetServiceBrowser alloc] init];
domainBrowser.delegate = self;
[domainBrowser searchForServicesOfType:@"_services._dns-sd._udp."
inDomain:@"local."];
Насколько я знаю, нет функции, которая будет искать все доступные сервисы. Причина, вероятно, связана с тем, что приложение, публикующее службу, может определить свой собственный тип сервиса.
Если вы ищете услуги общих типов (HTTP, принтер и т. Д.), Вы можете легко создать цикл для вызова -[instanceOfNSNetServiceBrowser searchForServicesOfType:inDomain:]
со всеми типами, которые вы хотите, во всех доменах, которые вы ранее обнаружили.
developer docs guide section on setting up a NSNetService также может быть полезен.
Да, кажется, что это единственный способ – Farcaller