首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >freebsd中的inet或inet6

freebsd中的inet或inet6
EN

Stack Overflow用户
提问于 2012-02-27 10:52:07
回答 3查看 316关注 0票数 0

我正在尝试从struct ifaddrs获取网络接口信息

如何确定我正在查看的接口是inet (ipv4)还是inet6 (ipv6)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-27 11:24:28

测试ifa_addr->sa_family - IPv4地址为AF_INET,IPv6地址为AF_INET6

然后,您可以根据需要将ifa_addr成员强制转换为struct sockaddr_in *struct sockaddr_in6 *

票数 3
EN

Stack Overflow用户

发布于 2012-02-27 11:04:35

在FreeBSD中,假设您已经获得了对两者的内核支持,那么IPv4和IPv6之间的问题只是一个配置问题。

FreeBSD中的“通用”内核包含"INET6“选项,它为您提供IPV6。如果您还没有重新构建内核并排除该选项,那么只需配置一个IPv6地址,就可以在任何接口上使用IPv6。

票数 0
EN

Stack Overflow用户

发布于 2012-02-27 11:09:40

您可以尝试在接口上打开一个IPV6套接字,看看它是否支持IPV6。

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

https://stackoverflow.com/questions/9459469

复制
相关文章

相似问题

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