NSNetServices сохраняется после вызова метода stop? - PullRequest
1 голос
/ 05 августа 2011

Я делаю простую добрую передачу с использованием NSNetServices.Все работает отлично, когда я запускаю и прекращаю совместное использование Bonjour при запуске / выходе приложения.Тем не менее, если я отключаю Bonjour с помощью вызова метода stop, мое приложение по-прежнему транслирует мертвый сервис даже после вызова сообщения netServiceDidStop: Delegate, что предотвращает перезапуск сервиса до повторного запуска приложения.Документация Apple делает его очень простым, просто публикуйте или останавливайте по мере необходимости ... Я что-то упустил?

1 Ответ

0 голосов
/ 08 мая 2013

Похоже, что иногда службы отображаются, даже если они больше не доступны.

Из документации Apple:

Поскольку невозможность показать действительную службу является большей проблемой дляПользователь, вместо того, чтобы показывать устаревшую услугу, Bonjour намеренно ошибается, полагая, что услуга все еще доступна.

.

.

, хотя Bonjour обычно обнаруживает новые сервисы в течение нескольких секунд, если сервис уходит, исчезновение сервиса может не быть обнаружено, пока ваше приложение не попытается подключиться к нему и не получитответ.

Не следует предполагать, что только потому, что API Bonjour сообщают об обнаруженном сервисе, сервис гарантированно будет доступен, когда программное обеспечение попытается получить к нему доступ.

Подключение к сетевым службам и наблюдение за ними: при разрешении не удается

...