Clase CSocketAddr

Esta clase proporciona métodos para convertir nombres de host en direcciones de host, que admiten los formatos IPv4 e IPV6.

Sintaxis

class CSocketAddr

Miembros

Constructores públicos

Nombre Descripción
CSocketAddr::CSocketAddr Constructor .

Métodos públicos

Nombre Descripción
CSocketAddr::FindAddr Llame a este método para convertir el nombre de host proporcionado en la dirección de host.
CSocketAddr::FindINET4Addr Llame a este método para convertir el nombre de host IPv4 en la dirección de host.
CSocketAddr::FindINET6Addr Llame a este método para convertir el nombre de host IPv6 en la dirección de host.
CSocketAddr::GetAddrInfo Llame a este método para devolver un puntero a un elemento específico de la lista addrinfo.
CSocketAddr::GetAddrInfoList Llame a este método para devolver un puntero a la lista addrinfo.

Comentarios

Esta clase proporciona un enfoque independiente de la versión de IP para buscar direcciones de red para usarlas con funciones de la API de sockets de Windows y contenedores de sockets en bibliotecas.

Los miembros de esta clase que se usan para buscar direcciones de red usan la función getaddrinfo de la API de Win32. Se llama a la versión ANSI o UNICODE de la función dependiendo de si el código se ha compilado para ANSI o UNICODE.

Esta clase admite direcciones de red IPv4 e IPv6.

Requisitos

Encabezado: atlsocket.h

CSocketAddr::CSocketAddr

Constructor .

CSocketAddr();

Comentarios

Crea un nuevo objeto CSocketAddr e inicializa la lista vinculada que contiene información de respuesta sobre el host.

CSocketAddr::FindAddr

Llame a este método para convertir el nombre de host proporcionado en la dirección de host.

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

Parámetros

szHost
Nombre de host o dirección IP con puntos.

szPortOrServiceName
Número de puerto o nombre del servicio en el host.

nPortNo
Número del puerto.

flags
0 o una combinación de AI_PASSIVE, AI_CANONNAME o AI_NUMERICHOST.

addr_family
Familia de direcciones (por ejemplo, PF_INET).

sock_type
Tipo de socket (por ejemplo, SOCK_STREAM).

ai_proto
Protocolo (por ejemplo, IPPROTO_IP o IPPROTO_IPV6).

Valor devuelto

Devuelve cero si la dirección se calcula correctamente. Devuelve un código de error de socket de Windows distinto de cero en caso de error. Si se ejecuta correctamente, la dirección calculada se almacena en una lista vinculada a la que se puede hacer referencia mediante CSocketAddr::GetAddrInfoList y CSocketAddr::GetAddrInfo.

Comentarios

El parámetro de nombre de host puede estar en formato IPv4 o IPv6. Este método llama a la función getaddrinfo de la API de Win32 para realizar la conversión.

CSocketAddr::FindINET4Addr

Llame a este método para convertir el nombre de host IPv4 en la dirección de host.

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

Parámetros

szHost
Nombre de host o dirección IP con puntos.

nPortNo
Número del puerto.

flags
0 o una combinación de AI_PASSIVE, AI_CANONNAME o AI_NUMERICHOST.

sock_type
Tipo de socket (por ejemplo, SOCK_STREAM).

Valor devuelto

Devuelve cero si la dirección se calcula correctamente. Devuelve un código de error de socket de Windows distinto de cero en caso de error. Si se ejecuta correctamente, la dirección calculada se almacena en una lista vinculada a la que se puede hacer referencia mediante CSocketAddr::GetAddrInfoList y CSocketAddr::GetAddrInfo.

Comentarios

Este método llama a la función getaddrinfo de la API de Win32 para realizar la conversión.

CSocketAddr::FindINET6Addr

Llame a este método para convertir el nombre de host IPv6 en la dirección de host.

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

Parámetros

szHost
Nombre de host o dirección IP con puntos.

nPortNo
Número del puerto.

flags
0 o una combinación de AI_PASSIVE, AI_CANONNAME o AI_NUMERICHOST.

sock_type
Tipo de socket (por ejemplo, SOCK_STREAM).

Valor devuelto

Devuelve cero si la dirección se calcula correctamente. Devuelve un código de error de socket de Windows distinto de cero en caso de error. Si se ejecuta correctamente, la dirección calculada se almacena en una lista vinculada a la que se puede hacer referencia mediante CSocketAddr::GetAddrInfoList y CSocketAddr::GetAddrInfo.

Comentarios

Este método llama a la función getaddrinfo de la API de Win32 para realizar la conversión.

CSocketAddr::GetAddrInfo

Llame a este método para devolver un puntero a un elemento específico de la lista addrinfo.

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

Parámetros

nIndex
Referencia a un elemento específico de la lista addrinfo.

Valor devuelto

Devuelve un puntero a la estructura addrinfo a la que hace referencia nIndex en la lista vinculada que contiene información de respuesta sobre el host.

CSocketAddr::GetAddrInfoList

Llame a este método para devolver un puntero a la lista addrinfo.

addrinfo* const GetAddrInfoList() const;

Valor devuelto

Puntero a una lista vinculada de una o varias estructuras addrinfo que contienen información de respuesta sobre el host. Para obtener más información, consulte la estructura addrinfo.

Consulte también

Información general sobre la clase