我们正在为Android和iOS创建多平台应用 目前,我们在Android上发布了这些信息的服务 键入:_http._tcp或_http._udp 名称:abcController 端口
现在,我想浏览iOS应用程序中的“abcController”服务,以获取用于连接的主机(ip)列表。 我正在尝试使用这些代码
NSString* servicesOfType = @"abcController._http._tcp.";
NSString* domain = @"";
domainBrowser = [[NSNetServiceBrowser alloc] init];
[domainBrowser setDelegate:self];
[domainBrowser searchForServicesOfType:servicesOfType inDomain:domain];
但是,它只调用netServiceBrowserWillSearch并且没有任何响应。
任何帮助都非常感谢!
答案 0 :(得分:0)
您的服务名称需要以“_”开头,否则会被混淆为域名。
答案 1 :(得分:0)
我为我的问题找到了解决方案。 事实证明我的服务是在udp中发布的, 因此。 withthiscode。
- (void) initBrowsingServices
{
NSString* servicesOfType = @"_http._udp.";
NSString* domain = @"local";
domainBrowser = [[NSNetServiceBrowser alloc] init];
[domainBrowser setDelegate:self];
[domainBrowser searchForServicesOfType:servicesOfType inDomain:domain];
domains = [[NSMutableArray alloc] init];
searching = NO;
}
我现在可以接受我的服务了。