我NSNetServiceBrowser
用来查找NSNetService
过度连接Apple TV
。bonjour
现在我的代码几乎每次都能正常工作。但是每隔一段时间(10 次中的 1 次)无法NSNetServiceBrowser
找到或花费大量时间来找到它。NSNetService
Apple TV
一旦NSNetServiceBrowser
无法检测到Apple TV
,我必须重新启动,Apple TV
然后一切都开始正常工作。
我无法理解问题是什么以及重新启动如何Apple TV
解决它。因此,我正在寻找任何指导或建议来确定问题所在。
苹果电视的代码:
service = [[NSNetService alloc] initWithDomain:@"" type:@"_test._tcp" name:@"TV ZohoShow" port:0];
[service scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
service.includesPeerToPeer = YES;
if(service)
{
[service setDelegate:self];
[service publishWithOptions:NSNetServiceListenForConnections];
}
iOS设备代码:
[serviceBrowser scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
serviceBrowser.includesPeerToPeer = YES;
[serviceBrowser setDelegate:self];
[serviceBrowser searchForServicesOfType:@"_test._tcp" inDomain:@""];
更新:当我尝试两个 iOS 设备之间的连接时,它永远不会发生。在这种情况下,我获得了 100/100 次连接。但是一旦我介绍了 Apple TV,我就开始遇到那些找不到电视的场合。