CAsyncSocket::GetSockOpt

BOOL GetSockOpt ( int nOptionName, void * lpOptionValue, int * lpOptionLen, int nLevel = SOL_SOCKET );

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario 0 e un codice di errore specifico può essere recuperato chiamando GetLastError. Se un'opzione mai è stata impostata con SetSockOpt, GetSockOpt restituisce il valore predefinito per l'opzione. I seguenti errori si applicano a questa funzione membro:

Parametri

nOptionName

L'opzione di socket per cui il valore deve essere recuperato.

lpOptionValue

Puntatore al buffer in cui è necessario restituire il valore per l'opzione richiesto. Il valore associato l'opzione selezionata viene restituito nel tampone lpOptionValue. Il numero intero a cui puntato lpOptionLen originariamente dovrebbe contenere la dimensione di questo buffer in byte; e al ritorno, esso verrà impostata sulle dimensioni del valore restituito. Per SO_LINGER, questa sarà la dimensione di una struttura LINGER ; per tutte le altre opzioni sarà la dimensione di un BOOL o int, a seconda dell'opzione. Vedere l'elenco delle opzioni e le relative dimensioni nella sezione Osservazioni.

lpOptionLen

Un puntatore alla dimensione del buffer in byte lpOptionValue.

nLevel

Il livello in cui è definito l'opzione; i livelli supportati soli sono SOL_SOCKET e IPPROTO_TCP.

Osservazioni

Chiamare questa funzione membro per recuperare un'opzione di socket. GetSockOpt recupera il valore corrente per un'opzione socket connesso con una presa di qualsiasi tipo, in qualsiasi stato e memorizza il risultato in lpOptionValue. Opzioni influiscono sulle operazioni di presa, ad esempio il routing dei pacchetti, il trasferimento di dati fuori banda e così via.

Le seguenti opzioni sono supportate per GetSockOpt. Il tipo identifica il tipo di dati affrontati da lpOptionValue. L'opzione TCP_NODELAY utilizza livello IPPROTO_TCP; tutte le altre opzioni utilizzano livello SOL_SOCKET.

Valore Tipo Significato
SO_ACCEPTCONN BOOL Presa è in ascolto.
SO_BROADCAST BOOL Presa è configurato per la trasmissione di messaggi broadcast.
SO_DEBUG BOOL Debug è stato attivato.
SO_DONTLINGER BOOL Se fosse vero, l'opzione SO_LINGER è disabilitata.
SO_DONTROUTE BOOL Instradamento è disattivato.
SO_ERROR int Recuperare lo stato degli errori e chiaro.
SO_KEEPALIVE BOOL Keep-Alive vengono inviati.
SO_LINGER struct LINGER Restituisce le opzioni correnti linger.
SO_OOBINLINE BOOL Essendo ricezione dati out-of-band nel flusso di dati normale.
SO_RCVBUF int Dimensione del buffer per riceve.
SO_REUSEADDR BOOL Il socket può essere associato a un indirizzo che è già in uso.
SO_SNDBUF int Dimensione del buffer per Invia.
SO_TYPE int Il tipo di socket (ad esempio, SOCK_STREAM).
TCP_NODELAY BOOL Disattiva l'algoritmo Nagle per inviare coalescenza.

Berkeley Software Distribution (BSD) opzioni non supportate per GetSockOpt sono:

Valore Tipo Significato
SO_RCVLOWAT int Ricevere il marchio acqua bassa.
SO_RCVTIMEO int Ricevere timeout.
SO_SNDLOWAT int Invia low water mark.
SO_SNDTIMEO int Invia timeout.
IP_OPTIONS Ottenere le opzioni nell'intestazione IP.
TCP_MAXSEG int Ottiene la dimensione massima del segmento TCP.

Chiamata GetSockOpt con un'opzione non supportata genererà un codice di errore di WSAENOPROTOOPT viene restituito da GetLastError.

CAsyncSocket panoramica |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CAsyncSocket::SetSockOpt

Index