iOS : 使用 DNSServiceQueryRecord 查找 DNS SRV

iOS : DNS SRV lookup using DNSServiceQueryRecord

我打算使用apple的DNSServiceQueryRecord来解析SRV记录。我看到传递给此方法的回调针对从 SRV 查找返回的每条记录调用一次。我怎么知道查询已经完成并且所有的记录都已经返回?

Apple 的文档供您参考。

https://developer.apple.com/library/mac/documentation/Networking/Reference/DNSServiceDiscovery_CRef/index.html#//apple_ref/c/func/DNSServiceQueryRecord

我想指出 "DNSServiceProcessResult" 处理 DNS 结果的方法是阻塞的。我使用 select() 查看套接字中是否接收到数据以调用 DNSServiceProcessResult。这使得该方法解除阻塞。我检查套接字中是否有数据 2 秒,如果没有返回任何结果,我将取消查询。