我有一个在Android上发布的服务。如何在iOS中浏览它?

问题描述:

我们正在为Android和iOS创建一个多平台应用程序。
目前,我们有发布在Android中使用这些信息
键入服务:_http._tcp或_http._udp 名称:abcController 端口我有一个在Android上发布的服务。如何在iOS中浏览它?

现在,我想要浏览iOS应用“abcController”服务获取主机(ip)的连接列表。 我想这些代码做

NSString* servicesOfType = @"abcController._http._tcp."; 
NSString* domain = @""; 

domainBrowser = [[NSNetServiceBrowser alloc] init]; 
[domainBrowser setDelegate:self]; 
[domainBrowser searchForServicesOfType:servicesOfType inDomain:domain]; 

然而,它只调用netServiceBrowserWillSearch,没有任何回应。

任何帮助是非常感激!

我找到了我的问题的解决方案。 事实证明,我的服务因此发布在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; 
} 

我现在可以收到我的服务。

您的服务名称需要以'_'开头,否则会被混淆为域名。