SocketOptionName Enumeración

Definición

Define los nombres de las opciones de configuración.

public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName = 
Public Enum SocketOptionName
Herencia
SocketOptionName

Campos

AcceptConnection 2

El socket se encuentra a la escucha.

AddMembership 12

Agrega la pertenencia a un grupo IP.

AddSourceMembership 15

Une un grupo de origen.

BlockSource 17

Bloquea los datos de un origen.

Broadcast 32

Permite el envío de mensajes de difusión en el socket.

BsdUrgent 2

Usa datos urgentes según la definición de RFC-1222. Esta opción solo se puede establecer una vez; una vez establecida, no se puede desactivar.

ChecksumCoverage 20

Obtiene o establece la activación de la suma de comprobación UDP.

Debug 1

Registra información de depuración.

DontFragment 14

No fragmenta los datagramas IP.

DontLinger -129

Cierra rápidamente el socket, sin demorarse.

DontRoute 16

No realiza ningún tipo de enrutamiento; envía directamente el paquete a las direcciones de interfaz.

DropMembership 13

Quita la pertenencia a un grupo IP.

DropSourceMembership 16

Coloca un grupo de origen.

Error 4103

Obtiene el estado de error y borra.

ExclusiveAddressUse -5

Permite enlazar un socket para obtener acceso exclusivo.

Expedited 2

Usa datos inmediatos según la definición de RFC-1222. Esta opción solo se puede establecer una vez; una vez establecida, no se puede desactivar.

HeaderIncluded 2

Indica que la aplicación proporciona el encabezado IP para los datagramas de salida.

HopLimit 21

Especifica el número máximo de saltos del enrutador para un paquete IPv6 (Protocolo de Internet versión 6). Esto último es similar al período de vida (TTL) del Protocolo de Internet versión 4.

IPOptions 1

Especifica las opciones IP que se van a insertar en los datagramas de salida.

IPProtectionLevel 23

Habilita la restricción de un socket IPv6 a un ámbito especificado, como direcciones con el mismo prefijo local o local de sitio de vínculo. 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 ejecuta en una LAN privada se fortalezca de forma sencilla frente a ataques externos. Esta opción de socket amplía o reduce el ámbito de un socket de escucha, lo que permite el acceso no restringido de usuarios públicos y privados cuando sea adecuado o restringe el acceso únicamente al mismo sitio, según necesidad. Esta opción de socket definió niveles de protección especificados en la enumeración IPProtectionLevel.

IpTimeToLive 4

Establece el campo correspondiente al período de vida del encabezado IP.

IPv6Only 27

Indica si un socket creado para la familia de direcciones AF_INET6 sólo está restringido a las comunicaciones IPv6. Los sockets creados para la familia de direcciones AF_INET6 se pueden usar para comunicaciones IPv6 e IPv4. Es posible que algunas aplicaciones deseen restringir su uso de un socket creado para la familia de direcciones AF_INET6 a comunicaciones IPv6 únicamente. Cuando este valor es distinto de cero (el valor predeterminado en Windows), un socket creado para la familia de direcciones AF_INET6 se puede usar para enviar y recibir paquetes IPv6 únicamente. Cuando este valor es cero, un socket creado para la familia de direcciones AF_INET6 se puede usar para enviar y recibir paquetes a y desde una dirección IPv6 o una dirección IPv4. Tenga en cuenta que la capacidad de interactuar con una dirección IPv4 exige el uso de direcciones asignadas IPv4. Esta opción de socket es compatible con Windows Vista o posterior.

KeepAlive 8

Usa encabezados de mantenimiento de conexión.

Linger 128

Se demora el cierre si existen datos no enviados.

MaxConnections 2147483647

No se admite; en caso de que se use, se producirá una excepción SocketException.

MulticastInterface 9

Establece la interfaz para los paquetes de multidifusión salientes.

MulticastLoopback 11

Retorno de bucle de multidifusión IP.

MulticastTimeToLive 10

Período de vida de multidifusión IP.

NoChecksum 1

Envía datagramas UDP con la suma de comprobación establecida en cero.

NoDelay 1

Deshabilita el algoritmo de Nagle para la fusión de envíos.

OutOfBandInline 256

Recibe los datos fuera de banda en el flujo normal de datos.

PacketInformation 19

Devuelve información sobre los paquetes recibidos.

ReceiveBuffer 4098

Especifica el espacio total de búfer por socket reservado para las recepciones. Este espacio no está relacionado con el tamaño máximo de los mensajes o el tamaño de una ventana TCP.

ReceiveLowWater 4100

Especifica la marca de agua suave para las operaciones 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 los métodos asincrónicos, como el BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método .

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. Equivale a usar la opción de socket SO_REUSE_UNICASTPORT de Winsock2.

SendBuffer 4097

Especifica el espacio total de búfer por socket reservado para los envíos. Este espacio no está relacionado con el tamaño máximo de los mensajes o el tamaño de una ventana TCP.

SendLowWater 4099

Especifica la marca de agua suave para las operaciones 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 los métodos asincrónicos, como el BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método .

TcpKeepAliveInterval 17

El número de segundos que esperará una conexión TCP para obtener una respuesta persistente antes de enviar otro sondeo persistente.

TcpKeepAliveRetryCount 16

Número de sondeos persistentes de TCP que se enviarán antes de que finalice la conexión.

TcpKeepAliveTime 3

Número de segundos durante los que una conexión TCP permanecerá activa o inactiva antes de que se envíen sondeos persistentes al repositorio remoto.

Type 4104

Obtiene el tipo de socket.

TypeOfService 3

Cambia el tipo de encabezado IP del campo de servicios.

UnblockSource 18

Desbloquea un origen anteriormente bloqueado.

UpdateAcceptContext 28683

Actualiza las propiedades de un socket aceptado usando las propiedades de un socket existente. Esto último equivale a usar la opción de socket SO_UPDATE_ACCEPT_CONTEXT de Winsock2 y sólo se admite en sockets orientados a conexiones.

UpdateConnectContext 28688

Actualiza las propiedades de un socket conectado usando las propiedades de un socket existente. Esto último equivale a usar la opción de socket SO_UPDATE_CONNECT_CONTEXT de Winsock2 y sólo se admite en sockets orientados a conexiones.

UseLoopback 64

Omite 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 send operations will time-out 
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000 );

// 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 );
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
'Send operations will time-out if confirmation is 
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

' 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 SocketOptionName enumeración define el nombre de cada Socket opción de configuración. Los sockets se pueden configurar con el Socket.SetSocketOption método .

Se aplica a

Consulte también