Opciones de socket e IOCTLs
En la tabla siguiente se resumen algunas de las opciones de socket para Windows Sockets 2. Se proporciona información más detallada en la sección 4 en WSPGetSockOpt y/o WSPSetSockOpt. Hay otras opciones nuevas de socket específicas del protocolo que se pueden encontrar en el Anexo específico del protocolo. Hay una lista completa de opciones de socket para Windows Sockets disponibles en la referencia de Winsock.
Para obtener un resumen de algunos de los Ioctl de Winsock, vea Resumen de códigos de operación Ioctl de socket. Hay disponible una lista completa de IOCTL de Winsock en la referencia de Winsock.
Resumen de las opciones comunes de socket
Un proveedor de servicios Winsock debe reconocer todas estas opciones y (para WSPGetSockOpt) devolver valores viables para cada una. El valor predeterminado de cada opción se muestra en la tabla siguiente.
Valor
Tipo
Significado
Valor predeterminado
Nota:
SO_ACCEPTCONN
BOOL
El socket se encuentra a la escucha.
FALSE a menos que se haya llevado a cabo un WSPListen.
SO_BROADCAST
BOOL
El socket está configurado para la transmisión y recepción de mensajes de difusión.
FALSE
SO_DEBUG
BOOL
La depuración está habilitada.
FALSE
(i)
SO_DONTLINGER
BOOL
Si es true, la opción SO_LINGER está deshabilitada.
TRUE
SO_DONTROUTE
BOOL
El enrutamiento está deshabilitado. Funciona, pero se omite en sockets AF_INET; produce un error en sockets AF_INET6 con WSAENOPROTOOPT. No se admite en sockets ATM (se produce un error).
FALSE
(i)
SO_ERROR
int
Recupera el estado del error y se borra.
0
SO_GROUP_ID
GROUP
Reservado.
NULL
Obtener solo
SO_GROUP_PRIORITY
int
Reservado.
0
BOOL
Se envían los keepalives. No se admite en sockets ATM (se produce un error).
FALSE
(i)
SO_LINGER
Estructura persistente
Devuelve las opciones de persistencia actuales.
l_onoff es 0
SO_MAX_MSG_SIZE
int
Tamaño máximo de salida de un mensaje para los tipos de socket de mensajes. No hay ninguna disposición para determinar el tamaño máximo del mensaje entrante. No tiene ningún significado para los sockets orientados a flujos.
Dependiente de la implementación
Obtener solo
SO_OOBINLINE
BOOL
Los datos de OOB se reciben en el flujo de datos normal.
FALSE
SO_PROTOCOL_INFOW
estructura WSAPROTOCOL_INFO
Descripción de la información del protocolo para el protocolo enlazado a este socket.
Dependiente del protocolo
Obtener solo
SO_RCVBUF
int
El espacio total de búfer por socket reservado para las recepciones. Esto no está relacionado con SO_MAX_MSG_SIZE y no se corresponde necesariamente con el tamaño de la ventana de recepción TCP.
Dependiente de la implementación
(i)
SO_REUSEADDR
BOOL
Otros usuarios pueden usar la dirección a la que está enlazado este socket. No es aplicable en sockets ATM.
FALSE
SO_SNDBUF
int
Espacio total de búfer por socket reservado para los envíos. Esto no está relacionado con SO_MAX_MSG_SIZE y no se corresponde necesariamente con el tamaño de una ventana de envío TCP.
Dependiente de la implementación
(i)
SO_TYPE
int
Tipo del socket (por ejemplo, SOCK_STREAM).
Como se creó a través del socket.
PVD_CONFIG
char FAR *
Objeto de estructura de datos opaco que contiene información de configuración del proveedor de servicios.
Dependiente de la implementación
TCP_NODELAY
BOOL
Deshabilita el algoritmo de Nagle para la fusión de envíos.
Dependiente de la implementación
(i) Un proveedor de servicios puede omitir silenciosamente esta opción en WSPSetSockOpt y devolver un valor constante para WSPGetSockOpt, o puede aceptar un valor para WSPSetSockOpt y devolver el valor correspondiente en WSPGetSockOpt sin usar el valor de ninguna manera.
Temas relacionados