在任何一個,如果你鍵入Windows或Mac OS X終端...SRV記錄查找與iPhone SDK
nslookup -type=SRV _xmpp-server._tcp.gmail.com
...(例如),您將收到與谷歌不同的一束SRV記錄聊天服務器..
有沒有人有任何這方面的經驗,並可能知道如何使用iPhone SDK服務這些信息(主機名,端口,重量,優先級)?我已經嘗試了Bonjour課程,但至今沒有運氣。
謝謝!
在任何一個,如果你鍵入Windows或Mac OS X終端...SRV記錄查找與iPhone SDK
nslookup -type=SRV _xmpp-server._tcp.gmail.com
...(例如),您將收到與谷歌不同的一束SRV記錄聊天服務器..
有沒有人有任何這方面的經驗,並可能知道如何使用iPhone SDK服務這些信息(主機名,端口,重量,優先級)?我已經嘗試了Bonjour課程,但至今沒有運氣。
謝謝!
我相信你需要使用DNSServiceDiscovery框架。我沒有iPhone SDK,但Google搜索表明它可以在iPhone上使用。
請參閱Apple Developer Site的full API details。
我提供了一些(不完全)的示例代碼太:
#include <dns_sd.h>
int main(int argc, char *argv[])
{
DNSServiceRef sdRef;
DNSServiceErrorType res;
DNSServiceQueryRecord(
&sdRef, 0, 0,
"_xmpp-server._tcp.gmail.com",
kDNSServiceType_SRV,
kDNSServiceClass_IN,
callback,
NULL
);
DNSServiceProcessResult(sdRef);
DNSServiceRefDeallocate(sdRef);
}
您需要提供自己的回調函數,並注意發送到回調rdata
場以有線格式,所以你必須自己解碼來自SRV記錄字段的原始數據。
嗯,看起來我不能在模擬器或設備上運行system()
。我可以在模擬器上運行NSTask
,但不能運行iPhone,並且NSTask
不是Foundation
框架的一部分。
該軟件包具有BSD許可。如果可行,代碼的相關部分可能直接包裝到項目中。
我認爲你最好的選擇是使用CFNetwork實現DNS查詢工具。
上述鏈接已死亡。使用此:https://developer.apple.com/library/mac/documentation/networking/conceptual/dns_discovery_api/Introduction.html – JaredH 2014-08-20 02:56:49