私はゆっくりとネットワーク用のコードを学習していますが、行き詰まっています。私はNASドライブのTXTレコードにアクセスすることで、で説明として提供:iOSでTXTレコードを読む
http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt
しかし、私はこのコードを実行すると:
browse = [[NSNetServiceBrowser alloc]init];
[browse setDelegate:self];
[browse searchForServicesOfType:@"_afpovertcp._tcp." inDomain:@"local"];
はsevicesの検索を設定するには、コールバックのために、以下:
-(void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didFindService:(NSNetService *)aNetService moreComing:(BOOL)moreComing
{
NSLog(@"Found: %@",aNetService);
CFNetServiceRef aCFNetRef;
aCFNetRef = CFNetServiceCreate(kCFAllocatorDefault, (__bridge CFStringRef)[aNetService domain],(__bridge CFStringRef) [aNetService type], (__bridge CFStringRef)[aNetService name], 0);
CFStreamError error;
if (CFNetServiceResolveWithTimeout(aCFNetRef, timeOut, &error)) {
NSLog(@"CFNET TXT: %@",CFNetServiceGetTXTData(aCFNetRef));
}
}
NSLog(@"TXTRecord: %@",[NSNetService dictionaryFromTXTRecordData:[aNetService TXTRecordData]]);
if (!moreComing) {
[browse stop];
[refreshButton setEnabled:YES];
[self reloadInputViews];
}
}
nslog()
行が見つかったサービスのTXTレコードのが空であることを示しています。私は
Found: <NSNetService 0x6a90fd0> local. _afpovertcp._tcp. myLocalSVR
CFNET TXT: <00>
TXTRecord: (null)
の線に沿って何かを得る誰かが私はコードの権利を持っているか、それだけということであるかどうかを言うことができますここのローカルNASはTXTレコードを含んでいません - 私が読んだものから、これはちょうどそうではありません。私はまた、TXTレコードが急上昇する前にサービスを解決する必要があることを読んだが、それはCFNetServiceResolveWithTimeout()
がやっていることを期待していた。
ありがとう!
Todd。
NASがmDNS経由で自ら発表することを確認しましたか?ターミナルから、コマンドで試しているものと同等のクエリを実行することができます:dns-sd -B _afpovertcp._tcp local – itorres
ありがとう、私はあとでそれを実行します。 – Todd