iOS上的NSNetServiceBrowser问题 - 未检测到所有更改

时间:2013-06-13 15:58:22

标签: ios objective-c xcode nsnetservice nsnetservicebrowser

我认为这可能是一个iOS错误。

我运行以下简单代码,以广播网络服务:

self.netService = [[NSNetService alloc] initWithDomain:@"local."
                                                          type:@"_testnetwork._tcp."
                                                          name:[[UIDevice currentDevice] name]
                                                          port:port];
self.netService.delegate = self;
[self.netService publish];

在另一台设备上,我运行此代码,以检测网络服务:

self.netServiceBrowser = [[NSNetServiceBrowser alloc] init];
self.netServiceBrowser.delegate = (id)self;
[self.netServiceBrowser searchForServicesOfType:@"_testnetwork._tcp." inDomain:@"local."];

接下来发生的事情是浏览器会检测网络服务第一次出现的时间,然后当服务消失时,大部分时间它都不会检测到它,并且仍然认为NSNetService仍在广播。有趣的是,这些应用程序可以在两台设备上停止,并且浏览器可以启动,并且仍会检测到当前正在广播的旧服务 - 它会挂起。

当服务出现和消失时,在Mac上的终端中使用此代码正确显示:

dns-sd -B _test._tcp

解决这个问题的方法是什么?这是iOS错误吗?

0 个答案:

没有答案