NSNetserviceBrowser委托方法未触发

时间:2018-07-05 06:48:27

标签: ios iphone nsnetservice nsnetservicebrowser

我正在申请一个。为此,我正在使用NsNetservice发布服务,并使用NSNetserviceBrowser浏览。但是有时服务会成功发布服务,但是浏览器无法使用didFindservice委托方法找到该服务。仅netServiceBrowserWillSearch正在触发,didNotsearch委托方法也未触发。而且,如果我重新启动设备,则它可以正常工作。

请帮助我解决此问题。有关浏览器和服务的代码,请在下面检查

浏览器:

  self.browser = [[NSNetServiceBrowser alloc] init];
self.browser.includesPeerToPeer = YES;
[self.browser setDelegate:self];
[self.browser searchForServicesOfType:[NSString stringWithFormat:@"%@%@._tcp.",serviceName,Name] inDomain:@""];

服务:

  self.netService = [[NSNetService alloc] initWithDomain:@"" type:[NSString stringWithFormat:@"%@%@._tcp.",serviceName,Name] name:Name port:randomPortNumber];
self.netService.includesPeerToPeer = YES;
[self.netService setDelegate:self];
 [self.netService scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.netService publishWithOptions:NSNetServiceListenForConnections];

0 个答案:

没有答案