SocketOptionName Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Define los nombres de las opciones de configuración.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum SocketOptionName
- Herencia
Campos
AcceptConnection | 2 | El socket está escuchando. |
AddMembership | 12 | Agregue una pertenencia a grupos IP. |
AddSourceMembership | 15 | Unirse a un grupo de origen. |
BlockSource | 17 | Bloquear datos de un origen. |
Broadcast | 32 | Permitir el envío de mensajes de difusión en el socket. |
BsdUrgent | 2 | Use datos urgentes como se define en RFC-1222. Esta opción solo se puede establecer una vez; después de establecerlo, no se puede desactivar. |
ChecksumCoverage | 20 | Establezca o obtenga la cobertura de suma de comprobación UDP. |
Debug | 1 | Registre la información de depuración. |
DontFragment | 14 | No fragmentar datagramas IP. |
DontLinger | -129 | Cierre el socket correctamente sin perdurar. |
DontRoute | 16 | No enrutar; envíe el paquete directamente a las direcciones de la interfaz. |
DropMembership | 13 | Quite una pertenencia a grupos IP. |
DropSourceMembership | 16 | Quite un grupo de origen. |
Error | 4103 | Obtiene el estado del error y se borra. |
ExclusiveAddressUse | -5 | Permite enlazar un socket para el acceso exclusivo. |
Expedited | 2 | Use datos acelerados como se define en RFC-1222. Esta opción solo se puede establecer una vez; después de establecerlo, no se puede desactivar. |
FastOpen | 15 | Habilita TCP Fast Open tal como se define en RFC-7413. El comportamiento real observado depende de la configuración del sistema operativo y del estado de la caché de cookies TCP del kernel. La habilitación de TFO puede afectar a la interoperabilidad y causar problemas de conectividad. |
HeaderIncluded | 2 | Indica que la aplicación proporciona el encabezado IP para datagramas salientes. |
HopLimit | 21 | Especifica el número máximo de saltos de enrutador para un paquete de protocolo de Internet versión 6 (IPv6). Esto es similar al período de vida (TTL) para el protocolo de Internet versión 4. |
IPOptions | 1 | Especifica las opciones de IP que se van a insertar en datagramas salientes. |
IPProtectionLevel | 23 | Habilita la restricción de un socket IPv6 en un ámbito especificado, como direcciones con el mismo prefijo local de vínculo o sitio. Esta opción de socket permite a las aplicaciones colocar restricciones de acceso en sockets IPv6. Estas restricciones permiten que una aplicación que se ejecute en una LAN privada se proteja de forma sencilla y sólida frente a ataques externos. Esta opción de socket amplía o limita el ámbito de un socket de escucha, lo que permite el acceso sin restricciones de los usuarios públicos y privados cuando proceda, o restringe el acceso solo al mismo sitio, según sea necesario. Esta opción de socket ha definido los niveles de protección especificados en la enumeración IPProtectionLevel. |
IpTimeToLive | 4 | Establezca el campo Período de vida del encabezado IP. |
IPv6Only | 27 | Indica si un socket creado para la familia de direcciones de AF_INET6 solo está restringido a las comunicaciones IPv6. Los sockets creados para la familia de direcciones de AF_INET6 se pueden usar para las comunicaciones IPv6 e IPv4. Es posible que algunas aplicaciones quieran restringir el uso de un socket creado para la familia de direcciones de AF_INET6 solo a las comunicaciones IPv6. Cuando este valor es distinto de cero (el valor predeterminado en Windows), solo se puede usar un socket creado para la familia de direcciones AF_INET6 para enviar y recibir paquetes IPv6. Cuando este valor es cero, se puede usar un socket creado para la familia de direcciones AF_INET6 para enviar y recibir paquetes hacia y desde una dirección IPv6 o una dirección IPv4. Tenga en cuenta que la capacidad de interactuar con una dirección IPv4 requiere el uso de direcciones asignadas IPv4. Esta opción de socket se admite en Windows Vista o posterior. |
KeepAlive | 8 | Use keep-alives. |
Linger | 128 | Se mantiene cerrado si hay datos sin enviar. |
MaxConnections | 2147483647 | No compatible; producirá un SocketException si se usa. |
MulticastInterface | 9 | Establezca la interfaz para los paquetes de multidifusión salientes. |
MulticastLoopback | 11 | Bucle invertido de multidifusión IP. |
MulticastTimeToLive | 10 | Tiempo de multidifusión IP en vivo. |
NoChecksum | 1 | Envíe datagramas UDP con suma de comprobación establecida en cero. |
NoDelay | 1 | Deshabilita el algoritmo nagle para el envío de fusión. |
OutOfBandInline | 256 | Recibe datos fuera de banda en el flujo de datos normal. |
PacketInformation | 19 | Devuelve información sobre los paquetes recibidos. |
ReceiveBuffer | 4098 | Especifica el espacio total de búfer por socket reservado para las recepciones. Esto no está relacionado con el tamaño máximo del mensaje o el tamaño de una ventana TCP. |
ReceiveLowWater | 4100 | Especifica la marca de agua baja para las operaciones de Receive. |
ReceiveTimeout | 4102 | Recibir un tiempo de espera. Esta opción solo se aplica a métodos sincrónicos; no tiene ningún efecto en métodos asincrónicos, como el método BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
ReuseAddress | 4 | Permite enlazar el socket a una dirección que ya está en uso. |
ReuseUnicastPort | 12295 | Indica que el sistema debe aplazar la asignación de puertos efímeros para las conexiones salientes. Esto equivale a usar la opción de socket Winsock2 SO_REUSE_UNICASTPORT. |
SendBuffer | 4097 | Especifica el espacio total de búfer por socket reservado para los envíos. Esto no está relacionado con el tamaño máximo del mensaje o el tamaño de una ventana TCP. |
SendLowWater | 4099 | Especifica la marca de agua baja para las operaciones de Send. |
SendTimeout | 4101 | Enviar un tiempo de espera. Esta opción solo se aplica a métodos sincrónicos; no tiene ningún efecto en métodos asincrónicos, como el método BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
TcpKeepAliveInterval | 17 | El número de segundos que una conexión TCP esperará a una respuesta keepalive antes de enviar otro sondeo keepalive. |
TcpKeepAliveRetryCount | 16 | Número de sondeos tcp keep alive que se enviarán antes de que finalice la conexión. |
TcpKeepAliveTime | 3 | El número de segundos que una conexión TCP permanecerá activa o inactiva antes de que los sondeos keepalive se envíen al remoto. |
Type | 4104 | Obtiene el tipo de socket. |
TypeOfService | 3 | Cambie el tipo de encabezado IP del campo de servicio. |
UnblockSource | 18 | Desbloquee un origen bloqueado previamente. |
UpdateAcceptContext | 28683 | Actualiza las propiedades de un socket aceptado mediante las de un socket existente. Esto equivale a usar la opción de socket Winsock2 SO_UPDATE_ACCEPT_CONTEXT y solo se admite en sockets orientados a la conexión. |
UpdateConnectContext | 28688 | Actualiza las propiedades de un socket conectado mediante las de un socket existente. Esto equivale a usar la opción de socket Winsock2 SO_UPDATE_CONNECT_CONTEXT y solo se admite en sockets orientados a la conexión. |
UseLoopback | 64 | Omita el hardware siempre que sea posible. |
Ejemplos
En el ejemplo de código siguiente se usa esta enumeración para establecer las opciones de socket.
// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)
Comentarios
La enumeración SocketOptionName define el nombre de cada opción de configuración Socket. Los sockets se pueden configurar con el método Socket.SetSocketOption.