我正在慢慢學習編寫網絡代碼,並且陷入了一個死路一條:我想通過訪問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"];
要爲服務隊的搜索和回調如下:
-(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()
正在做的事情......
謝謝!
託德。
您是否檢查過NAS是通過mDNS宣佈的?您可以從終端執行與使用該命令嘗試的同等查詢:dns-sd -B _afpovertcp._tcp local – itorres 2012-03-17 23:59:18
謝謝,我稍後再說。 – Todd 2012-03-20 10:42:19