在Windows或Mac OS X终端中,如果键入...
nslookup -type=SRV _xmpp-server._tcp.gmail.com
...(例如)您将收到一堆与不同谷歌聊天服务器相关的SRV记录.
有没有人有这方面的经验,可能知道如何使用iPhone SDK提供这些信息(主机名,端口,重量,优先级)?我已经尝试过Bonjour课程,但至今没有运气..
谢谢!
我相信你需要使用DNSServiceDiscovery框架.我没有iPhone SDK,但谷歌搜索表明它可以在iPhone上使用.
有关完整的API详细信息,请参阅Apple Developer Site .
我也包含了一些(不完整的)示例代码:
#includeint 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记录字段中的原始数据.