Ağdaki Bonjour hizmetlerini yayımlamak ve taramak için NSNetService ve NSNetServiceBrowser kullanıyorum. Uygulama iyi çalışıyor, hizmetler ağda bulunuyor ve iletişim kurabiliyor. Şu anda çerçevenin yaşam döngüsünü anlamaya çalışıyorum ve bu defa ne var: Ben adaptörlü hizmetlerini başlatmak eğerBir bonjour hizmetinin durumunun bilinmesi
// Scanning
netServiceBrowserWillSearch:
netServiceBrowser:didFindService:moreComing: // The device finds itself
// Advertising
netServiceWillPublish:
netServiceDidPublish:
bu gerçekleşir. Şimdi, her zaman, hizmetin ağda aktif olarak tanıtılıp duyurulmadığını bilmem gerekiyor; Yani, diğer cihazlar bunu bulabilirse. Yani Wi-Fi adaptörü kapatarak ile test:
netServiceBrowser:didRemoveService:moreComing:
netServiceBrowser:didFindService:moreComing: // The device finds itself again, even after the adapter is turned off
Sonra tekrar adaptörü açmak:
netServiceBrowser:didRemoveService:moreComing:
netServiceBrowser:didFindService:moreComing: // Yet again
sorun üzerinde adaptörü dönüm hiçbir fark kesinlikle olmamasıdır veya kapalı, ben bir desen arayamıyorum. Bu olayları yakalayabileceğim başka bir yol var mı?
Düzenleme: En kötüsü olur. Her iki adaptör kapalıyken de (uçak modu) netServiceDidPublish: servislerini başlatsam bile çağrılırım. Şimdiye kadar netServiceDidNotPublish: sadece aynı hizmeti iki kez kaydetmeye çalıştığımda çağrılıyormuş gibi görünüyor. Bu bana karşı çok sezgisel; Belki de hizmet, adaptöre yayınlandı, ancak ağdan değil, ve bu gibi geri bildirimler çok yanıltıcı. Bu noktada hizmetin ağda görünüp görünmeyeceğini bilmem mümkün değil.
Aynı soruna rastladım. Bunun için bir çözüm buldunuz mu? – Mark
@Mark, bir cevap gönderdim. En iyi ördek! –