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