BOOL GetSockOpt ( int nOptionName, void * lpOptionValue, int * lpOptionLen, int nLevel = SOL_SOCKET );
Valeur de retour
Différent de zéro si la fonction est réussie ; sinon, 0 et un code d'erreur spécifique peuvent être récupérée par appeler GetLastError. Si une option n'est jamais définie avec SetSockOpt, GetSockOpt retourne la valeur par défaut de l'option. Les erreurs suivantes s'appliquent à cette fonction membre:
Paramètres
nOptionName
L'option de socket pour lequel la valeur doit être récupérée.
lpOptionValue
Pointeur vers la mémoire tampon dans laquelle la valeur de l'option demandée doit être retourné. La valeur associée à l'option sélectionnée est renvoyée dans la mémoire tampon lpOptionValue. L'entier pointé par lpOptionLen devrait contenir à l'origine de la taille de ce tampon en octets ; et au retour, elle est définie à la taille de la valeur retournée. Pour SO_LINGER, ce sera la taille d'une structure LINGER ; pour toutes les autres options, il sera de la taille d'un BOOL ou int, selon l'option. Voir la liste des options et leurs tailles dans la section Remarques.
lpOptionLen
Un pointeur vers la taille de la mémoire tampon en octets de lpOptionValue.
nLevel
Le niveau au cours de laquelle l'option est définie ; les niveaux de prise en charge seulement sont SOL_SOCKET et IPPROTO_TCP.
Remarques
Appelez cette fonction membre pour récupérer une option de socket. GetSockOpt récupère la valeur d'une option de socket associée à un socket de tout type, dans tout état et stocke le résultat dans lpOptionValue. Options affectent les opérations de socket, telles que le routage des paquets, transfert de données hors-bande, etc.
Les options suivantes sont prises en charge pour GetSockOpt. Le Type identifie le type de données traitées par lpOptionValue. L'option TCP_NODELAY utilise le niveau IPPROTO_TCP; toutes les autres options utilisent niveau SOL_SOCKET.
| Valeur | Type | Sens |
| SO_ACCEPTCONN | BOOL | Socket est à l'écoute. |
| SO_BROADCAST | BOOL | Socket est configuré pour la transmission des messages de diffusion. |
| SO_DEBUG | BOOL | Le débogage est activé. |
| SO_DONTLINGER | BOOL | Si true, l'option SO_LINGER est désactivée. |
| SO_DONTROUTE | BOOL | Routage est désactivé. |
| SO_ERROR | int | Récupérer l'état d'erreur et clair. |
| SO_KEEPALIVE | BOOL | Persistantes sont envoyés. |
| SO_LINGER | struct LINGER | Retourne les options actuelles de linger. |
| SO_OOBINLINE | BOOL | Données hors-bande sont reçues dans le flux de données normal. |
| SO_RCVBUF | int | Taille de la mémoire tampon pour reçoit. |
| SO_REUSEADDR | BOOL | Le socket peut être lié à une adresse qui est déjà utilisé. |
| SO_SNDBUF | int | Taille de la mémoire tampon pour envoie. |
| SO_TYPE | int | Le type de socket (par exemple, SOCK_STREAM). |
| TCP_NODELAY | BOOL | Désactive l'algorithme Nagle pour envoyer coalescence. |
Options de Berkeley Software Distribution (BSD) non pris en charge pour GetSockOpt sont:
| Valeur | Type | Sens |
| SO_RCVLOWAT | int | Recevoir l'eau marque. |
| SO_RCVTIMEO | int | Recevoir le timeout. |
| SO_SNDLOWAT | int | Envoyer l'eau marque. |
| SO_SNDTIMEO | int | Envoyer timeout. |
| IP_OPTIONS | Obtenir des options dans l'en-tête IP. | |
| TCP_MAXSEG | int | Obtenir la taille maximale de segment TCP. |
Appeler GetSockOpt avec une option non prise en charge se traduira par un code d'erreur de WSAENOPROTOOPT étant retourné de GetLastError.
Aperçu de CAsyncSocket |nbsp ; Membres de la classe | Graphique de la hiérarchie
Voir aussi  ;CAsyncSocket::SetSockOpt