Я уверен, что всего лишь в нескольких письмах от работы, но, возможно, нет ...Bonjour для JmDNS от iOS: как называется?
На стороне сервера у меня это (Java);
ServiceInfo info = ServiceInfo.create("_mjdj._tcp.local.", "foo", 1268, 0, 0, "path=index.html");
jmdns.registerService(info);
Это отлично работает с моим клиентом Java или Bonjour Browser (услуга показывает, как «_mjdj._tcp.» В местном). Итак, на Java это работает:
jmdns.list("_mjdj._tcp.local.");
Но от клиента iOS я не могу найти сервис (или что-то еще). У меня есть методы делегата на месте, но это
NSNetServiceBrowser *browser = [[[NSNetServiceBrowser alloc] init] autorelease];
[browser setDelegate:self];
[browser searchForServicesOfType:@"_mjdj._tcp.local." inDomain:@""];
производит эту ошибку
{
NSNetServicesErrorCode = "-72004";
NSNetServicesErrorDomain = 10;
}
и если я делаю это (угадывание)
[browser searchForServicesOfType:@"_mjdj._tcp." inDomain:@"local"];
netServiceBrowserWillSearch
не вызывается, но ничего после этого.
Всегда полезно найти код ошибки. Если вы сделаете это для этого кода, вы обнаружите, что это 'NSNetServicesBadArgumentError' (или' kCFNetServiceErrorBadArgument', если вы смотрите в Core Foundation). –
Спасибо @Peter Hosey. Оказывается, проблема заключалась в том, что я не сохранял браузер (как вы можете видеть выше, я был автореализован). –