Класс CSocketAddr

Этот класс предоставляет методы преобразования имен узлов в адреса узлов, поддерживая форматы IPv4 и IPV6.

Синтаксис

class CSocketAddr

Участники

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

Имя Описание
CSocketAddr::CSocketAddr Конструктор.

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

Имя Описание
CSocketAddr::FindAddr Вызовите этот метод, чтобы преобразовать указанное имя узла в адрес узла.
CSocketAddr::FindINET4Addr Вызовите этот метод, чтобы преобразовать имя узла IPv4 в адрес узла.
CSocketAddr::FindINET6Addr Вызовите этот метод, чтобы преобразовать имя узла IPv6 в адрес узла.
CSocketAddr::GetAddrInfo Вызовите этот метод, чтобы вернуть указатель на определенный элемент в списке addrinfo .
CSocketAddr::GetAddrInfoList Вызовите этот метод, чтобы вернуть указатель на addrinfo список.

Замечания

Этот класс предоставляет не зависящий от IP-версии подход для поиска сетевых адресов для использования с функциями API сокетов Windows и оболочками сокетов в библиотеках.

Члены этого класса, используемые для поиска сетевых адресов, используют функцию Getaddrinfo функции API Win32. Версия ФУНКЦИИ ANSI или ЮНИКОД вызывается в зависимости от того, компилируется ли код для ANSI или ЮНИКОД.

Этот класс поддерживает сетевые адреса IPv4 иIPv6.

Требования

Заголовок: atlsocket.h

CSocketAddr::CSocketAddr

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

CSocketAddr();

Замечания

Создает новый CSocketAddr объект и инициализирует связанный список, содержащий сведения о ответе на узел.

CSocketAddr::FindAddr

Вызовите этот метод, чтобы преобразовать указанное имя узла в адрес узла.

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);

Параметры

szHost
Имя узла или пунктирный IP-адрес.

szPortOrServiceName
Номер порта или имя службы на узле.

nPortNo
номер порта.

flags
0 или сочетание AI_PASSIVE, AI_CANONNAME или AI_NUMERICHOST.

addr_family
Семейство адресов (например, PF_INET).

sock_type
Тип сокета (например, SOCK_STREAM).

ai_proto
Протокол (например, IPPROTO_IP или IPPROTO_IPV6).

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

Возвращает ноль, если адрес вычисляется успешно. Возвращает ненулевой код ошибки сокета Windows при сбое. При успешном выполнении вычисляемый адрес хранится в связанном списке, на который можно ссылаться с помощью CSocketAddr::GetAddrInfoList и CSocketAddr::GetAddrInfo.

Замечания

Параметр имени узла может находиться в формате IPv4 или IPv6. Этот метод вызывает функцию API Win32 getaddrinfo для выполнения преобразования.

CSocketAddr::FindINET4Addr

Вызовите этот метод, чтобы преобразовать имя узла IPv4 в адрес узла.

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

Параметры

szHost
Имя узла или пунктирный IP-адрес.

nPortNo
номер порта.

flags
0 или сочетание AI_PASSIVE, AI_CANONNAME или AI_NUMERICHOST.

sock_type
Тип сокета (например, SOCK_STREAM).

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

Возвращает ноль, если адрес вычисляется успешно. Возвращает ненулевой код ошибки сокета Windows при сбое. При успешном выполнении вычисляемый адрес хранится в связанном списке, на который можно ссылаться с помощью CSocketAddr::GetAddrInfoList и CSocketAddr::GetAddrInfo.

Замечания

Этот метод вызывает функцию API Win32 getaddrinfo для выполнения преобразования.

CSocketAddr::FindINET6Addr

Вызовите этот метод, чтобы преобразовать имя узла IPv6 в адрес узла.

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

Параметры

szHost
Имя узла или пунктирный IP-адрес.

nPortNo
номер порта.

flags
0 или сочетание AI_PASSIVE, AI_CANONNAME или AI_NUMERICHOST.

sock_type
Тип сокета (например, SOCK_STREAM).

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

Возвращает ноль, если адрес вычисляется успешно. Возвращает ненулевой код ошибки сокета Windows при сбое. При успешном выполнении вычисляемый адрес хранится в связанном списке, на который можно ссылаться с помощью CSocketAddr::GetAddrInfoList и CSocketAddr::GetAddrInfo.

Замечания

Этот метод вызывает функцию API Win32 getaddrinfo для выполнения преобразования.

CSocketAddr::GetAddrInfo

Вызовите этот метод, чтобы вернуть указатель на определенный элемент в списке addrinfo .

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

Параметры

Nindex
Ссылка на определенный элемент в списке addrinfo .

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

Возвращает указатель на addrinfo структуру, на которую ссылается nIndex в связанном списке, содержащем сведения об ответе узла.

CSocketAddr::GetAddrInfoList

Вызовите этот метод, чтобы вернуть указатель на addrinfo список.

addrinfo* const GetAddrInfoList() const;

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

Указатель на связанный список одной или нескольких addrinfo структур, содержащих сведения о ответе на узел. Дополнительные сведения см. в структуре addrinfo.

См. также

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