Класс КсоккетаддрCSocketAddr Class

Этот класс предоставляет методы для преобразования имен узлов в адреса узлов, поддерживающих форматы IPv4 и IPV6.This class provides methods for converting host names to host addresses, supporting both IPv4 and IPV6 formats.

СинтаксисSyntax

class CSocketAddr

ЧленыMembers

Открытые конструкторыPublic Constructors

nameName ОписаниеDescription
Ксоккетаддр:: КсоккетаддрCSocketAddr::CSocketAddr Конструктор.The constructor.

Открытые методыPublic Methods

nameName ОписаниеDescription
Ксоккетаддр:: ФиндаддрCSocketAddr::FindAddr Вызовите этот метод, чтобы преобразовать предоставленное имя узла в адрес узла.Call this method to convert the provided host name to the host address.
Ксоккетаддр:: FindINET4AddrCSocketAddr::FindINET4Addr Вызовите этот метод, чтобы преобразовать имя узла IPv4 в адрес узла.Call this method to convert the IPv4 host name to the host address.
Ксоккетаддр:: FindINET6AddrCSocketAddr::FindINET6Addr Вызовите этот метод, чтобы преобразовать имя узла IPv6 в адрес узла.Call this method to convert the IPv6 host name to the host address.
Ксоккетаддр:: функцию getaddrinfoCSocketAddr::GetAddrInfo Вызовите этот метод, чтобы вернуть указатель на конкретный элемент в addrinfo списке.Call this method to return a pointer to a specific element in the addrinfo list.
Ксоккетаддр:: ЖетаддринфолистCSocketAddr::GetAddrInfoList Вызовите этот метод, чтобы вернуть указатель на addrinfo список.Call this method to return a pointer to the addrinfo list.

КомментарииRemarks

Этот класс предоставляет независимый от IP-версии подход к поиску сетевых адресов для использования с функциями API сокетов Windows и оболочками сокетов в библиотеках.This class provides an IP version agnostic approach for looking up network addresses for use with Windows sockets API functions and socket wrappers in libraries.

Члены этого класса, используемые для поиска сетевых адресов, используют функцию Win32 API функцию getaddrinfo.The members of this class that are used to look up network addresses use the Win32 API function getaddrinfo. Версия функции ANSI или UNICODE вызывается в зависимости от того, скомпилирован ли код для ANSI или UNICODE.The ANSI or UNICODE version of the function is called depending on whether your code is compiled for ANSI or UNICODE.

Этот класс поддерживает как сетевые адреса IPv4 andIPv6.This class supports both IPv4 andIPv6 network addresses.

ТребованияRequirements

Заголовок: атлсоккет. hHeader: atlsocket.h

Ксоккетаддр:: КсоккетаддрCSocketAddr::CSocketAddr

Конструктор.The constructor.

CSocketAddr();

КомментарииRemarks

Создает новый CSocketAddr объект и инициализирует связанный список, содержащий сведения об ответе узла.Creates a new CSocketAddr object and initializes the linked list containing response information about the host.

Ксоккетаддр:: ФиндаддрCSocketAddr::FindAddr

Вызовите этот метод, чтобы преобразовать предоставленное имя узла в адрес узла.Call this method to convert the provided host name to the host address.

int FindAddr(
    const TCHAR *szHost,
    const TCHAR *szPortOrServiceName,
    int flags,
    int addr_family,
    int sock_type,
    int ai_proto);

int FindAddr(
    const TCHAR *szHost,
    int nPortNo,
    int flags,
    int addr_family,
    int sock_type,
    int ai_proto);

ПараметрыParameters

сзостszHost
Имя узла или IP-адрес с точками.The host name or dotted IP address.

сзпорторсервиценамеszPortOrServiceName
Номер порта или имя службы на узле.The port number or name of service on host.

нпортноnPortNo
номер порта.The port number.

flagsflags
0 или сочетание AI_PASSIVE, AI_CANONNAME или AI_NUMERICHOST.0 or combination of AI_PASSIVE, AI_CANONNAME or AI_NUMERICHOST.

addr_familyaddr_family
Семейство адресов (например, PF_INET).Address family (such as PF_INET).

sock_typesock_type
Тип сокета (например, SOCK_STREAM).Socket type (such as SOCK_STREAM).

ai_protoai_proto
Протокол (например, IPPROTO_IP или IPPROTO_IPV6).Protocol (such as IPPROTO_IP or IPPROTO_IPV6).

Возвращаемое значениеReturn Value

Возвращает нуль, если адрес успешно вычислен.Returns zero if the address is calculated successfully. Возвращает ненулевое значение кода ошибки сокета Windows при сбое.Returns a nonzero Windows Socket error code on failure. В случае успеха вычисленный адрес сохраняется в связанном списке, на который можно ссылаться с помощью CSocketAddr::GetAddrInfoList и CSocketAddr::GetAddrInfo .If successful, the calculated address is stored in a linked list that may be referenced using CSocketAddr::GetAddrInfoList and CSocketAddr::GetAddrInfo.

КомментарииRemarks

Параметр имени узла может иметь формат IPv4 или IPv6.The host name parameter may be in either IPv4 or IPv6 format. Этот метод вызывает функцию Win32 API функцию getaddrinfo для выполнения преобразования.This method calls the Win32 API function getaddrinfo to perform the conversion.

Ксоккетаддр:: FindINET4AddrCSocketAddr::FindINET4Addr

Вызовите этот метод, чтобы преобразовать имя узла IPv4 в адрес узла.Call this method to convert the IPv4 host name to the host address.

int FindINET4Addr(
    const TCHAR *szHost,
    int nPortNo,
    int flags = 0,
    int sock_type = SOCK_STREAM);

ПараметрыParameters

сзостszHost
Имя узла или IP-адрес с точками.The host name or dotted IP address.

нпортноnPortNo
номер порта.The port number.

flagsflags
0 или сочетание AI_PASSIVE, AI_CANONNAME или AI_NUMERICHOST.0 or combination of AI_PASSIVE, AI_CANONNAME or AI_NUMERICHOST.

sock_typesock_type
Тип сокета (например, SOCK_STREAM).Socket type (such as SOCK_STREAM).

Возвращаемое значениеReturn Value

Возвращает нуль, если адрес успешно вычислен.Returns zero if the address is calculated successfully. Возвращает ненулевое значение кода ошибки сокета Windows при сбое.Returns a nonzero Windows Socket error code on failure. В случае успеха вычисленный адрес сохраняется в связанном списке, на который можно ссылаться с помощью CSocketAddr::GetAddrInfoList и CSocketAddr::GetAddrInfo .If successful, the calculated address is stored in a linked list that may be referenced using CSocketAddr::GetAddrInfoList and CSocketAddr::GetAddrInfo.

КомментарииRemarks

Этот метод вызывает функцию Win32 API функцию getaddrinfo для выполнения преобразования.This method calls the Win32 API function getaddrinfo to perform the conversion.

Ксоккетаддр:: FindINET6AddrCSocketAddr::FindINET6Addr

Вызовите этот метод, чтобы преобразовать имя узла IPv6 в адрес узла.Call this method to convert the IPv6 host name to the host address.

int FindINET6Addr(
    const TCHAR *szHost,
    int nPortNo,
    int flags = 0,
    int sock_type = SOCK_STREAM);

ПараметрыParameters

сзостszHost
Имя узла или IP-адрес с точками.The host name or dotted IP address.

нпортноnPortNo
номер порта.The port number.

flagsflags
0 или сочетание AI_PASSIVE, AI_CANONNAME или AI_NUMERICHOST.0 or combination of AI_PASSIVE, AI_CANONNAME or AI_NUMERICHOST.

sock_typesock_type
Тип сокета (например, SOCK_STREAM).Socket type (such as SOCK_STREAM).

Возвращаемое значениеReturn Value

Возвращает нуль, если адрес успешно вычислен.Returns zero if the address is calculated successfully. Возвращает ненулевое значение кода ошибки сокета Windows при сбое.Returns a nonzero Windows Socket error code on failure. В случае успеха вычисленный адрес сохраняется в связанном списке, на который можно ссылаться с помощью CSocketAddr::GetAddrInfoList и CSocketAddr::GetAddrInfo .If successful, the calculated address is stored in a linked list that may be referenced using CSocketAddr::GetAddrInfoList and CSocketAddr::GetAddrInfo.

КомментарииRemarks

Этот метод вызывает функцию Win32 API функцию getaddrinfo для выполнения преобразования.This method calls the Win32 API function getaddrinfo to perform the conversion.

Ксоккетаддр:: функцию getaddrinfoCSocketAddr::GetAddrInfo

Вызовите этот метод, чтобы вернуть указатель на конкретный элемент в addrinfo списке.Call this method to return a pointer to a specific element in the addrinfo list.

addrinfo* const GetAddrInfo(int nIndex = 0) const;

ПараметрыParameters

ниндексnIndex
Ссылка на конкретный элемент в списке аддринфо .A reference to a specific element in the addrinfo list.

Возвращаемое значениеReturn Value

Возвращает указатель на addrinfo структуру, на которую ссылается ниндекс , в связанном списке, содержащем сведения об ответе для узла.Returns a pointer to the addrinfo structure referenced by nIndex in the linked list containing response information about the host.

Ксоккетаддр:: ЖетаддринфолистCSocketAddr::GetAddrInfoList

Вызовите этот метод, чтобы вернуть указатель на addrinfo список.Call this method to return a pointer to the addrinfo list.

addrinfo* const GetAddrInfoList() const;

Возвращаемое значениеReturn Value

Указатель на связанный список из одной или нескольких addrinfo структур, содержащих сведения об ответе для узла.Pointer to a linked list of one or more addrinfo structures containing response information about the host. Дополнительные сведения см. в разделе Структура аддринфо.For more information, see addrinfo structure.

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

Общие сведения о классахClass Overview