首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅获取全局ipv6地址的GetAddrInfoW

仅获取全局ipv6地址的GetAddrInfoW
EN

Stack Overflow用户
提问于 2015-09-03 14:23:18
回答 1查看 123关注 0票数 0

我只需要我的全局IPv6地址,而不需要本地链接地址。我已经将ai_flags设置为AI_ADDRCONFIG,就像msdn中提到的那样。但是GetAddrInfoW同时返回全局和本地链路地址。有没有办法从ADDRINFOW结果结构中找出地址的类型?

代码语言:javascript
复制
 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
        );
EN

回答 1

Stack Overflow用户

发布于 2015-09-07 13:14:54

我猜这个应用程序接口并没有提供仅获取全局IPv6地址的功能。我已经成功地根据IPv6地址格式确定了全局地址。在Wiki中,该范围可用于标识本地链路地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32368314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档