GetAddrInfoW得到只有全球ipv6地址
问题描述:
我只需要我的全球IPv6地址,而不是本地链接地址。如msdn中所述,我已将ai_flags设置为AI_ADDRCONFIG。但GetAddrInfoW返回全局和本地链接地址。有没有什么办法可以从ADDRINFOW
找出结果结构的地址类型?GetAddrInfoW得到只有全球ipv6地址
std::wstring whostname = L"hostname";
ADDRINFOW hints;
memset(&hints, 0, sizeof(ADDRINFOW));
hints.ai_family = AF_UNSPEC; // IPv4 and IPv6
hints.ai_socktype = SOCK_STREAM; // TCP only, no UDP
hints.ai_protocol = IPPROTO_TCP;
hints.ai_flags = AI_ADDRCONFIG; // Get only global IPv6 address
ADDRINFOW *list = NULL;
result = GetAddrInfoW(
whostname.c_str(),
NULL,
&hints,
&list
);