2011-08-04 3 views
1

NSNetServices를 사용하여 간단하게 봉주르 방송을하고 있습니다. 애플리케이션 시작/종료시 Bonjour 공유를 시작하고 중지하면 모든 것이 잘 작동합니다. 그러나 stop 메서드 호출을 사용하여 bonjour를 끄면 netServiceDidStop : 대리자 메시지가 호출 된 후에도 내 응용 프로그램이 여전히 불필요한 서비스를 브로드 캐스팅하고있는 것으로 보이므로 응용 프로그램이 다시 시작될 때까지 서비스가 다시 시작되지 않습니다. Apple의 설명서를 보면 간단하게 보이거나 필요에 따라 게시하거나 중지 할 수 있습니다. 뭔가 빠졌습니까?NSNetService는 메소드 호출을 중단 한 후에도 지속됩니까?

+0

어떻게 당신은 여전히 ​​방송 있다는 알 수 있습니까? – Fabian

+0

나는 여기에서 찾아낸 bonjour 네트워크 브라우저를 사용하고있다 : http://www.tildesoft.com/ 그것은 실시간으로 어느 정도 갱신된다. – slycrel

답변

0

더 이상 서비스가 제공되지 않는 경우에도 서비스가 표시되는 경우가 있습니다. 애플의 문서에서

는 :

유효한 서비스가 부실 서비스를 보여주는 것보다 사용자에게 더 큰 문제가 보여 실패 때문에, 봉쥬르은 의도적으로 서비스를 계속 사용할 수 있다고 가정의 측면에 잘못한다.

.

. 앱에 연결을 시도하고 더 응답을 얻을 수 없을 때까지

서비스가 사라질 경우 봉쥬르은 일반적으로, 몇 초 내에 새로운 서비스를 발견하지만

, 서비스의 실종은 발견되지 않을 수 있습니다.

Bonjour API가 발견 된 서비스가 이라고보고했기 때문에 소프트웨어가 서비스에 액세스하려고 시도하면 서비스가 사용 가능하다고 보장하면 안됩니다.

Connecting to and Monitoring Network Services: When resolving fails

관련 문제