NSNetService 和 NSNetServiceBrowser NSNetService 和 NSNetServiceBrowser 类是 Cocoa 中基础框架的一部分,为服务发现和发布提供了面向对象的抽象 NSNetService 对象表示 Bonjour 服务的实例,用于发布或由客户端发现的服务,而 NSNetServiceBrowser 表示用于特定类型服务的浏览器。 NSNetService 和 NSNetServiceBrowser 被调度在默认的 NSRunLoop 对象上,以异步方式执行发布、发现和解析。 NSNetService 和 NSNetServiceBrowser 对象返回的所有结果都由委托对象处理。这些对象必须与一个运行循环相关联才能运行,但它不必是默认的。 与 NSNetService 和 NSNetServiceBrowser 不同,CFNetServices 类型不需要运行循环,并且可以在需要此行为时同步运行。
我们直接使用抽象最高级的NSNetService,NSNetServiceBrowser来解决问题。 NSNetService代表一个服务。NSNetServiceBrowser用于搜索服务。 在spider中,我们需要搜索提供测试的服务设备: self.browser = [[NSNetServiceBrowser alloc]init]; self.browser.delegate = 如果NSNetServiceBrowser搜索到服务,则会通知delegate进行处理,我们在这里进行增删和更新UI。 - (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didFindService:(NSNetService moreComing) { [self.tableView reloadData]; } } - (void)netServiceBrowser:(NSNetServiceBrowser
const char *argv[]) { NSAutoreleasePool *pool; pool = [[ NSAutoreleasePool alloc ] init ]; NSNetServiceBrowser *browser; browser = [[ NSNetServiceBrowser alloc ] init ]; ITunesFinder *finder; finder =