CAsyncSocket::GetSockOpt

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

Index