SOCKADDR_INET union (ws2ipdef.h)

SOCKADDR_INET联合包含 IPv4、IPv6 地址或地址系列。

语法

typedef union _SOCKADDR_INET {
  SOCKADDR_IN    Ipv4;
  SOCKADDR_IN6   Ipv6;
  ADDRESS_FAMILY si_family;
} SOCKADDR_INET, *PSOCKADDR_INET;

成员

Ipv4

类型: SOCKADDR_IN

表示为包含地址系列和 IPv4 地址的SOCKADDR_IN 结构的 IPv4 地址。 地址系列采用主机字节顺序,IPv4 地址按网络字节顺序排列。

在 Windows Vista 及更高版本发布的Windows SDK中,头文件的组织方式已更改,SOCKADDR_IN结构在 Ws2def.h 头文件中定义。 请注意, Ws2def.h 头文件会自动包含在 Winsock2.h 中,永远不应直接使用。

Ipv6

类型: SOCKADDR_IN6

表示为包含地址系列和 IPv6 地址的SOCKADDR_IN6 结构的 IPv6 地址。 地址系列采用主机字节顺序,IPv6 地址采用网络字节顺序。

在 Windows Vista 及更高版本发布的Windows SDK中,头文件的组织已更改,SOCKADDR_IN6结构在 Ws2def.h 头文件中定义。 请注意, Ws2def.h 头文件会自动包含在 Winsock2.h 中,永远不应直接使用。

si_family

类型: ADDRESS_FAMILY

地址系列。

Ws2def.h 头文件中列出了地址系列的可能值。 请注意,AF_地址系列和PF_协议系列常量的值 (相同,例如 ,AF_INETPF_INET) ,因此可以使用任一常量。 Ws2def.h 头文件自动包含在 Winsock2.h 中,不应直接使用。

当前支持的值是 AF_INETAF_INET6AF_UNSPEC

含义
AF_UNSPEC
0
地址系列未指定。 指定此参数后, SOCKADDR_INET 联合可以表示 IPv4 或 IPv6 地址系列。
AF_INET
2
Internet 协议版本 4 (IPv4) 地址系列。
AF_INET6
23
Internet 协议版本 6 (IPv6) 地址系列。

注解

SOCKADDR_INET联合在 Windows Vista 及更高版本上定义。

SOCKADDR_INET联合是一种方便的结构,用于访问 IPv4 地址、IPv6 地址或 IP 地址系列,而无需强制转换 sockaddr 结构。

SOCKADDR_INET联合是IP_ADDRESS_PREFIX结构中 Prefix 成员的数据类型

请注意, Ws2ipdef.h 头文件会自动包含在 Ws2tcpip.h 头文件中,永远不应直接使用。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 ws2ipdef.h (包括 Ws2tcpip.h)

另请参阅

IP_ADDRESS_PREFIX

sockaddr