Classe CSocketAddr

Annotazioni

La libreria di modelli attivi (ATL) continua a essere supportata. Tuttavia, non aggiungiamo più funzionalità né aggiorniamo la documentazione.

Questa classe fornisce metodi per convertire i nomi host in indirizzi host, supportando sia i formati IPv4 che IPV6.

Sintassi

class CSocketAddr

Membri

Costruttori pubblici

Nome Descrizione
CSocketAddr::CSocketAddr Costruttore.

Metodi pubblici

Nome Descrizione
CSocketAddr::FindAddr Chiamare questo metodo per convertire il nome host specificato nell'indirizzo host.
CSocketAddr::FindINET4Addr Chiamare questo metodo per convertire il nome host IPv4 nell'indirizzo host.
CSocketAddr::FindINET6Addr Chiamare questo metodo per convertire il nome host IPv6 nell'indirizzo host.
CSocketAddr::GetAddrInfo Chiamare questo metodo per restituire un puntatore a un elemento specifico nell'elenco addrinfo .
CSocketAddr::GetAddrInfoList Chiamare questo metodo per restituire un puntatore all'elenco addrinfo .

Osservazioni:

Questa classe fornisce un approccio indipendente dalla versione IP per cercare gli indirizzi di rete da usare con le funzioni API socket di Windows e i wrapper socket nelle librerie.

I membri di questa classe usati per cercare gli indirizzi di rete usano la funzione API Win32 getaddrinfo. La versione ANSI o UNICODE della funzione viene chiamata a seconda che il codice sia compilato per ANSI o UNICODE.

Questa classe supporta sia gli indirizzi di rete IPv4 che IPv6.

Requisiti

Intestazione: atlsocket.h

CSocketAddr::CSocketAddr

Costruttore.

CSocketAddr();

Osservazioni:

Crea un nuovo CSocketAddr oggetto e inizializza l'elenco collegato contenente informazioni sulla risposta sull'host.

CSocketAddr::FindAddr

Chiamare questo metodo per convertire il nome host specificato nell'indirizzo 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);

Parametri

szHost
Nome host o indirizzo IP punteggiato.

szPortOrServiceName
Numero di porta o nome del servizio nell'host.

nPortNo
Il numero della porta.

flags
0 o combinazione di AI_PASSIVE, AI_CANONNAME o AI_NUMERICHOST.

addr_family
Famiglia di indirizzi (ad esempio PF_INET).

sock_type
Tipo di socket (ad esempio SOCK_STREAM).

ai_proto
Protocollo (ad esempio IPPROTO_IP o IPPROTO_IPV6).

Valore restituito

Restituisce zero se l'indirizzo viene calcolato correttamente. Restituisce un codice di errore Windows Socket diverso da zero in caso di errore. In caso di esito positivo, l'indirizzo calcolato viene archiviato in un elenco collegato a cui può essere fatto riferimento tramite CSocketAddr::GetAddrInfoList e CSocketAddr::GetAddrInfo.

Osservazioni:

Il parametro del nome host può essere in formato IPv4 o IPv6. Questo metodo chiama la funzione API Win32 getaddrinfo per eseguire la conversione.

CSocketAddr::FindINET4Addr

Chiamare questo metodo per convertire il nome host IPv4 nell'indirizzo host.

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

Parametri

szHost
Nome host o indirizzo IP punteggiato.

nPortNo
Il numero della porta.

flags
0 o combinazione di AI_PASSIVE, AI_CANONNAME o AI_NUMERICHOST.

sock_type
Tipo di socket (ad esempio SOCK_STREAM).

Valore restituito

Restituisce zero se l'indirizzo viene calcolato correttamente. Restituisce un codice di errore Windows Socket diverso da zero in caso di errore. In caso di esito positivo, l'indirizzo calcolato viene archiviato in un elenco collegato a cui può essere fatto riferimento tramite CSocketAddr::GetAddrInfoList e CSocketAddr::GetAddrInfo.

Osservazioni:

Questo metodo chiama la funzione API Win32 getaddrinfo per eseguire la conversione.

CSocketAddr::FindINET6Addr

Chiamare questo metodo per convertire il nome host IPv6 nell'indirizzo host.

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

Parametri

szHost
Nome host o indirizzo IP punteggiato.

nPortNo
Il numero della porta.

flags
0 o combinazione di AI_PASSIVE, AI_CANONNAME o AI_NUMERICHOST.

sock_type
Tipo di socket (ad esempio SOCK_STREAM).

Valore restituito

Restituisce zero se l'indirizzo viene calcolato correttamente. Restituisce un codice di errore Windows Socket diverso da zero in caso di errore. In caso di esito positivo, l'indirizzo calcolato viene archiviato in un elenco collegato a cui può essere fatto riferimento tramite CSocketAddr::GetAddrInfoList e CSocketAddr::GetAddrInfo.

Osservazioni:

Questo metodo chiama la funzione API Win32 getaddrinfo per eseguire la conversione.

CSocketAddr::GetAddrInfo

Chiamare questo metodo per restituire un puntatore a un elemento specifico nell'elenco addrinfo .

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

Parametri

nIndex
Riferimento a un elemento specifico nell'elenco addrinfo .

Valore restituito

Restituisce un puntatore alla addrinfo struttura a cui fa riferimento nIndex nell'elenco collegato contenente informazioni sulla risposta sull'host.

CSocketAddr::GetAddrInfoList

Chiamare questo metodo per restituire un puntatore all'elenco addrinfo .

addrinfo* const GetAddrInfoList() const;

Valore restituito

Puntatore a un elenco collegato di una o più addrinfo strutture contenenti informazioni sulla risposta sull'host. Per altre informazioni, vedere struttura addrinfo.

Vedi anche

Cenni preliminari sulla classe