BOOL GetSockOpt ( int nOptionName, void * lpOptionValue, int * lpOptionLen, int nLevel = SOL_SOCKET );
Valor devuelto
Distinto de cero si la función es correcta; en caso contrario 0 y un código de error específico se pueden recuperar llamando GetLastError. Si una opción nunca fue establecida con SetSockOpt, GetSockOpt devuelve el valor por defecto para la opción. Los errores siguientes se aplican a esta función miembro:
Parámetros
nOptionName
La opción de socket que es recuperar el valor.
lpOptionValue
Un puntero a la memoria intermedia en la que el valor de la opción solicitada va a ser devuelto. Se devuelve el valor asociado a la opción seleccionada en el búfer lpOptionValue. El entero apuntado por lpOptionLen originalmente debe contener el tamaño de este búfer de bytes; y el retorno, se establecerá en el tamaño del valor devuelto. Para SO_LINGER, será el tamaño de una estructura LINGER ; para todas las demás opciones será el tamaño de un BOOL o un int, dependiendo de la opción. Ver la lista de opciones y sus tamaños en la sección de comentarios.
lpOptionLen
Un puntero para el tamaño del búfer de lpOptionValue en bytes.
nLevel
El nivel en que está definida la opción; los niveles admitidos sólo son SOL_SOCKET y IPPROTO_TCP.
Observaciones
Llame a esta función miembro para recuperar una opción de socket. GetSockOpt recupera el valor actual de una opción de socket asociado con un zócalo de cualquier tipo, en cualquier Estado y almacena el resultado en lpOptionValue. Opciones afectan a las operaciones de socket, como el enrutamiento de paquetes, transferencia de datos fuera de banda etc.
Se admiten las siguientes opciones para GetSockOpt. El tipo identifica el tipo de datos dirigidas por lpOptionValue. La opción de TCP_NODELAY utiliza nivel IPPROTO_TCP; todas las demás opciones utilizan nivel SOL_SOCKET.
Valor | Tipo | Significado |
SO_ACCEPTCONN | BOOL | Está escuchando el socket. |
SO_BROADCAST | BOOL | Socket está configurado para la transmisión de mensajes de difusión. |
SO_DEBUG | BOOL | Está habilitada la depuración. |
SO_DONTLINGER | BOOL | Si es true, la opción SO_LINGER está deshabilitada. |
SO_DONTROUTE | BOOL | Enrutamiento está deshabilitado. |
SO_ERROR | int | Recuperar el estado de error y claro. |
SO_KEEPALIVE | BOOL | Se están enviando los comandos keepalive. |
SO_LINGER | struct LINGER | Devuelve las opciones actuales de linger. |
SO_OOBINLINE | BOOL | Datos fuera de banda se recibe en la secuencia de datos normal. |
SO_RCVBUF | int | Tamaño de búfer para recibe. |
SO_REUSEADDR | BOOL | El zócalo se puede enlazar a una dirección que ya está en uso. |
SO_SNDBUF | int | Tamaño de búfer para envía. |
SO_TYPE | int | El tipo de socket (por ejemplo, SOCK_STREAM). |
TCP_NODELAY | BOOL | Deshabilita el algoritmo de Nagle para enviar coalescencia. |
Opciones de distribución de Software de Berkeley (BSD) no admite GetSockOpt:
Valor | Tipo | Significado |
SO_RCVLOWAT | int | Recibir la marca de agua. |
SO_RCVTIMEO | int | Recibir el tiempo de espera. |
SO_SNDLOWAT | int | Enviar la marca de agua de baja. |
SO_SNDTIMEO | int | Tiempo de espera de envío. |
IP_OPTIONS | Obtener opciones de encabezado de IP. | |
TCP_MAXSEG | int | Obtiene el tamaño máximo de segmento TCP. |
Llamar a GetSockOpt con una opción incompatible dará como resultado un código de error de WSAENOPROTOOPT que se devuelven desde GetLastError.
Introducción a CAsyncSocket |nbsp; Miembros de clase | Diagrama de jerarquía
Vea tambié&nnbsp;CAsyncSocket::SetSockOpt