iOS : 使用 DNSServiceQueryRecord 查找 DNS SRV
iOS : DNS SRV lookup using DNSServiceQueryRecord
我打算使用apple的DNSServiceQueryRecord来解析SRV记录。我看到传递给此方法的回调针对从 SRV 查找返回的每条记录调用一次。我怎么知道查询已经完成并且所有的记录都已经返回?
Apple 的文档供您参考。
我想指出 "DNSServiceProcessResult" 处理 DNS 结果的方法是阻塞的。我使用 select() 查看套接字中是否接收到数据以调用 DNSServiceProcessResult。这使得该方法解除阻塞。我检查套接字中是否有数据 2 秒,如果没有返回任何结果,我将取消查询。
我打算使用apple的DNSServiceQueryRecord来解析SRV记录。我看到传递给此方法的回调针对从 SRV 查找返回的每条记录调用一次。我怎么知道查询已经完成并且所有的记录都已经返回?
Apple 的文档供您参考。
我想指出 "DNSServiceProcessResult" 处理 DNS 结果的方法是阻塞的。我使用 select() 查看套接字中是否接收到数据以调用 DNSServiceProcessResult。这使得该方法解除阻塞。我检查套接字中是否有数据 2 秒,如果没有返回任何结果,我将取消查询。