在 Windows 或 Mac OS X 终端中,如果您键入...
nslookup -type=SRV _xmpp-server._tcp.gmail.com
...(例如)您将收到一堆与不同的 google 聊天服务器相关的 SRV 记录..
有没有人在这方面有经验并且可能知道如何使用 iPhone SDK 处理这些信息(主机名、端口、权重、优先级)?我已经尝试过 Bonjour 类(class),但还没有成功..
谢谢!
最佳答案
我相信您需要使用 DNSServiceDiscovery 框架。我没有 iPhone SDK,但 Google 搜索表明它可以在 iPhone 上使用。
请参阅 Apple 开发者网站以获取 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 的原始数据自己记录字段。
关于iphone - 使用 iPhone SDK 查找 SRV 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258284/