Поделиться через


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 SDK, выпущенном для Windows Vista и более поздних версий, организация файлов заголовков изменилась, а структура SOCKADDR_IN определена в файле заголовка Ws2def.h. Обратите внимание, что файл заголовка Ws2def.h автоматически включается в Winsock2.h и никогда не должен использоваться напрямую.

Ipv6

Тип: SOCKADDR_IN6

IPv6-адрес, представленный в виде структуры SOCKADDR_IN6 , содержащей семейство адресов и IPv6-адрес. Семейство адресов находится в порядке байтов узла, а IPv6-адрес — в порядке байтов сети.

На Windows SDK, выпущенном для Windows Vista и более поздних версий, изменилась организация файлов заголовков, а структура SOCKADDR_IN6 определена в файле заголовка Ws2def.h. Обратите внимание, что файл заголовка Ws2def.h автоматически включается в Winsock2.h и никогда не должен использоваться напрямую.

si_family

Тип: ADDRESS_FAMILY

Семейство адресов.

Возможные значения для семейства адресов перечислены в файле заголовка Ws2def.h . Обратите внимание, что значения для семейства адресов AF_ и констант семейства PF_ протоколов идентичны (например, AF_INET и PF_INET), поэтому можно использовать либо константу. Файл заголовка Ws2def.h автоматически включается в Winsock2.h и никогда не должен использоваться напрямую.

В настоящее время поддерживаются значения AF_INET, AF_INET6 и AF_UNSPEC.

Значение Значение
AF_UNSPEC
0
Семейство адресов не указано. Если указан этот параметр, SOCKADDR_INET объединение может представлять семейство адресов IPv4 или IPv6.
AF_INET
2
Семейство адресов IPv4.
AF_INET6
23
Семейство адресов IPv6.

Комментарии

Объединение SOCKADDR_INET определяется в Windows Vista и более поздних версиях.

Объединение SOCKADDR_INET — это удобная структура для доступа к IPv4-адресу, IPv6-адресу или семейству IP-адресов без приведения структуры sockaddr .

Объединение SOCKADDR_INET — это тип данных элемента Prefix в структуре IP_ADDRESS_PREFIX.

Обратите внимание, что файл заголовка Ws2ipdef.h автоматически включается в файл заголовка Ws2tcpip.h и никогда не должен использоваться напрямую.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть ws2ipdef.h (включая Ws2tcpip.h)

См. также раздел

IP_ADDRESS_PREFIX

sockaddr