Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот класс предоставляет методы преобразования имен узлов в адреса узлов, поддерживая форматы 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.