4

有没有办法以编程方式检查是否使用 c++ 在 Windows 上安装/启用了 IPv6?在接口级别或系统范围内。

4

5 回答 5

4

有了很多网络可用性,最简单的方法是尝试使用它并在失败时捕获异常。

于 2010-06-24T13:37:12.337 回答
2

WSCEnumProtocols()可用于检查是否已将 IPv6 作为协议安装。

于 2010-07-07T08:09:49.997 回答
1

一种答案是使用GetAdapterAddresses()并查找 IPv6 地址来枚举系统接口。

于 2010-07-07T08:03:49.840 回答
0

请记住,在 XP 上,必须ipv6 install在 IPv6 可用之前运行,因此它比您想象的要复杂一些。

于 2010-11-23T22:38:09.327 回答
-1

最简单的就是尝试打开一个套接字,

const int sock6 = socket (AF_INET6, SOCK_DGRAM, 0);
const BOOL is_ip6_enabled = (SOCKET_ERROR != sock6);
close (sock6);
于 2010-07-07T08:16:39.810 回答