0

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 を呼び出すだけで、応答はありません。

どんな助けでも大歓迎です!

4

2 に答える 2

0

サービス名は「_」で始める必要があります。そうしないと、代わりにドメインと混同されます。

于 2014-01-20T14:12:35.377 に答える
0

私の問題の解決策を見つけました。したがって、私のサービスは udp で公開されていることがわかりました。このコードで。

- (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;
}

サービスを受けられるようになりました。

于 2014-01-22T01:34:43.780 に答える