Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.