0

1つのアプリケーションを実行しています。その中で、 を使用してサービスを公開し、 を使用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];
4

0 に答える 0