【发布时间】:2011-12-09 14:35:17
【问题描述】:
我的 C++ 应用程序必须查找指向 IPv6 地址的 DNS SRV 记录。根据我目前的研究,res_search() 系列函数是可行的方法。
有没有人举例说明如何准备这样的查询以及如何提取 IPv6 结果?
【问题讨论】:
我的 C++ 应用程序必须查找指向 IPv6 地址的 DNS SRV 记录。根据我目前的研究,res_search() 系列函数是可行的方法。
有没有人举例说明如何准备这样的查询以及如何提取 IPv6 结果?
【问题讨论】:
res_search()(或req_query)可能是获取初始SRV记录的方法。
但是SRV 记录只能包含主机名,而不是文字 IPv6 地址。
您应该将该记录的主机名内容输入getaddrinfo() 函数,然后该函数可以同时查找 IPv4 和 IPv6 地址。
【讨论】:
SRV 记录包含资源名称。用户有责任使用附加查询(例如,A 或 AAAA)或其他系统调用将名称解析为 IP 地址或其他任何内容。
A 和AAAA 都存在,原始答案可能仅包含A 记录。