objective-c - 如何用apple bonjour for iOS读取TXT记录

标签 objective-c ios bonjour

我尝试在 didFindService 函数中获取 TXTrecords,但我发现该值为 null。

您有解决我的问题的想法吗?

- (void)netServiceBrowser:(NSNetServiceBrowser*)netServiceBrowser didFindService:(NSNetService*)service moreComing:(BOOL)moreComing {
    [self.services addObject:service];

    NSDictionary* dict = [[NSNetService dictionaryFromTXTRecordData:[service TXTRecordData]] retain];
    MyTreeNode *node = [[MyTreeNode alloc] initWithValue:[service name]];
    NSString* info = [self copyStringFromTXTDict:dict which:@"info"];
    if([info isEqualToString:@"child"]) { // info == null and dict == null??
        [treeNode addChild:node];
    }
    [info release];
    if (!moreComing) {
        [self sortAndUpdateUI];
    }
}

最佳答案

您需要先解析服务。在回调中,您只知道服务存在,但您没有它的记录(既没有它的 A 也没有它的 TXT)。

您可以使用-resolveWithTimeout: 来解决它。如果您需要在 TXT 记录被修改时得到通知,您也可以使用 -startMonitoring

关于objective-c - 如何用apple bonjour for iOS读取TXT记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12300137/

相关文章:

java - 无法在Mac上正常运行java应用程序

objective-c - 从 nib 或以编程方式添加 subview

iphone - 如何在 Objective-C 中扩展协议(protocol)/委托(delegate)?

objective-c - AppDelegate、rootViewController 和 presentViewController

ios - Phonegap、Cordova 观察位置每 1 秒成功发射一次

iphone - 如何从 iOS 应用程序连接到 Oracle 数据库?

ios - Bonjour 如何在 IOS 上运行?

android - jmdns.jar 不适用于 android 4.0 或更高版本

ios - 我应该子类化还是使用类别

iphone - 如何读取/解析 UIWEBVIEW 中加载的 PDF 内容