Socket.SetSocketOption Socket.SetSocketOption Socket.SetSocketOption Socket.SetSocketOption Method

Definición

Establece una opción de Socket.Sets a Socket option.

Sobrecargas

SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Establece la opción de Socket indicada en el valor especificado, representado como un objeto.Sets the specified Socket option to the specified value, represented as an object.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Establece la opción de Socket especificada en el valor entero indicado.Sets the specified Socket option to the specified integer value.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Establece la opción de Socket especificada en el valor de Boolean indicado.Sets the specified Socket option to the specified Boolean value.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Establece la opción de Socket indicada en el valor especificado, representado como una matriz de bytes.Sets the specified Socket option to the specified value, represented as a byte array.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Establece la opción de Socket indicada en el valor especificado, representado como un objeto.Sets the specified Socket option to the specified value, represented as an object.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, System::Object ^ optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * obj -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Object)

Parámetros

optionValue
Object Object Object Object

LingerOption o MulticastOption que contiene el valor de la opción.A LingerOption or MulticastOption that contains the value of the option.

Excepciones

Error al intentar acceder al socket.An error occurred when attempting to access the socket.

Ejemplos

El siguiente ejemplo de código establece la LingerOption y Send los valores de tiempo de espera.The following code example sets the LingerOption and Send time out values.

// 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

Socket opciones determinan el comportamiento del elemento actual Socket.Socket options determine the behavior of the current Socket. Utilice esta sobrecarga para establecer el Linger, AddMembership, y DropMembership Socket opciones.Use this overload to set the Linger, AddMembership, and DropMembershipSocket options. Para el Linger opción, utilice Socket para el optionLevel parámetro.For the Linger option, use Socket for the optionLevel parameter. Para AddMembership y DropMembership, utilice IP.For AddMembership and DropMembership, use IP. Si desea obtener el valor actual de cualquiera de las opciones enumeradas anteriormente, use el GetSocketOption método.If you want to get the current value of any of the options listed above, use the GetSocketOption method.

Nota

Si recibe un SocketException, utilice el SocketException.ErrorCode propiedad para obtener el código de error específico.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Después de haber obtenido este código, consulte el código de error de API de la versión 2 de Windows Sockets documentación para obtener una descripción detallada del error.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Consulte también:

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Establece la opción de Socket especificada en el valor entero indicado.Sets the specified Socket option to the specified integer value.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, int optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * int -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Integer)

Parámetros

optionValue
Int32 Int32 Int32 Int32

Valor de la opción.A value of the option.

Excepciones

Error al intentar acceder al socket.An error occurred when attempting to access the socket.

Ejemplos

El siguiente ejemplo de código establece la LingerOption y Send los valores de tiempo de espera.The following code example sets the LingerOption and Send time-out values.

// 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

Socket opciones determinan el comportamiento del elemento actual Socket.Socket options determine the behavior of the current Socket. Para una opción con un Boolean tipo de datos, especifique un valor distinto de cero para habilitar la opción y un valor de cero para deshabilitar la opción.For an option with a Boolean data type, specify a nonzero value to enable the option, and a zero value to disable the option. Para una opción con un tipo de datos entero, especifique el valor adecuado.For an option with an integer data type, specify the appropriate value. Socket las opciones se agrupan por nivel de compatibilidad de protocolo.Socket options are grouped by level of protocol support.

A continuación aparecen los diversos Socket opciones que se pueden establecer mediante esta sobrecarga.Listed below are the various Socket options that can be set using this overload. Estas opciones se agrupan por adecuado SocketOptionLevel.These options are grouped by the appropriate SocketOptionLevel. Si pretende establecer cualquiera de estas opciones, asegúrese de usar adecuado SocketOptionLevel para el optionLevel parámetro.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel for the optionLevel parameter. Debe especificarse la opción que elija para establecer en el optionName parámetro.The option you choose to set must be specified in the optionName parameter. Si desea obtener el valor actual de cualquiera de las opciones enumeradas, use el GetSocketOption método.If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.Udp options that can be set using this overload.

SocketOptionLevel.IPv6 opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.IPv6 options that can be set using this overload.

Para obtener más información acerca de estas opciones, consulte el SocketOptionName enumeración.For more information about these options, refer to the SocketOptionName enumeration.

Nota

Si recibe un SocketException, utilice el SocketException.ErrorCode propiedad para obtener el código de error específico.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Después de haber obtenido este código, consulte el código de error de API de la versión 2 de Windows Sockets documentación para obtener una descripción detallada del error.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación.This member outputs trace information when you enable network tracing in your application. Para obtener más información, consulte seguimiento de red en .NET Framework.For more information, see Network Tracing in the .NET Framework.

Consulte también:

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Establece la opción de Socket especificada en el valor de Boolean indicado.Sets the specified Socket option to the specified Boolean value.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, bool optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, bool optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * bool -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Boolean)

Parámetros

optionValue
Boolean Boolean Boolean Boolean

Valor de la opción, representado como Boolean.The value of the option, represented as a Boolean.

Excepciones

Error al intentar acceder al socket.An error occurred when attempting to access the socket.

Ejemplos

En el ejemplo de código siguiente se abre un socket y permite la DontLinger y OutOfBandInline opciones de socket.The following code example opens a socket and enables the DontLinger and the OutOfBandInline socket options.

// Establish the local endpoint for the socket.
IPHostEntry^ ipHost = Dns::GetHostEntry( Dns::GetHostName() );
IPAddress^ ipAddr = ipHost->AddressList[ 0 ];
IPEndPoint^ ipEndPoint = gcnew IPEndPoint( ipAddr,11000 );

// Create a TCP socket.
Socket^ client = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );

// Connect the socket to the remote endpoint.
client->Connect( ipEndPoint );

// Set option that allows socket to close gracefully without lingering.
client->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::DontLinger, true );

// Set option that allows socket to receive out-of-band information in the data stream.
client->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::OutOfBandInline, true );

// Establish the local endpoint for the socket.
IPHostEntry ipHost = Dns.GetHostEntry(Dns.GetHostName());
IPAddress  ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);

// Create a TCP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
    SocketType.Stream, ProtocolType.Tcp);

// Connect the socket to the remote endpoint.
client.Connect(ipEndPoint);

// Set option that allows socket to close gracefully without lingering.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, true);

// Set option that allows socket to receive out-of-band information in the data stream.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.OutOfBandInline, true);

Comentarios

Socket opciones determinan el comportamiento del elemento actual Socket.Socket options determine the behavior of the current Socket. Establecer optionValue a true para habilitar la opción, o a false para deshabilitar la opción.Set optionValue to true to enable the option, or to false to disable the option.

Socket las opciones se agrupan por nivel de compatibilidad de protocolo.Socket options are grouped by level of protocol support.

A continuación aparecen los diversos Socket opciones que se pueden establecer mediante esta sobrecarga.Listed below are the various Socket options that can be set using this overload. Estas opciones se agrupan por adecuado SocketOptionLevel valor.These options are grouped by the appropriate SocketOptionLevel value. Si pretende establecer cualquiera de estas opciones, asegúrese de usar adecuado SocketOptionLevel valor para el optionLevel parámetro.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel value for the optionLevel parameter. Debe especificarse la opción que elija para establecer en el optionName parámetro.The option you choose to set must be specified in the optionName parameter. Si desea obtener el valor actual de cualquiera de las opciones enumeradas, use el GetSocketOption método.If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp opciones que se pueden establecer mediante esta sobrecarga.SocketOptionLevel.Udp options that can be set using this overload.

Para obtener más información sobre estas opciones, consulte el SocketOptionName enumeración.For more information on these options, refer to the SocketOptionName enumeration.

Nota

Si recibe un SocketException excepción, use el SocketException.ErrorCode propiedad para obtener el código de error específico.If you receive a SocketException exception, use the SocketException.ErrorCode property to obtain the specific error code. Después de haber obtenido este código, consulte el código de error de API de la versión 2 de Windows Sockets documentación para obtener una descripción detallada del error.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Establece la opción de Socket indicada en el valor especificado, representado como una matriz de bytes.Sets the specified Socket option to the specified value, represented as a byte array.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, cli::array <System::Byte> ^ optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * byte[] -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Byte())

Parámetros

optionValue
Byte[]

Matriz de tipo Byte que representa el valor de la opción.An array of type Byte that represents the value of the option.

Excepciones

Error al intentar acceder al socket.An error occurred when attempting to access the socket.

Ejemplos

El siguiente ejemplo de código establece la LingerOption y Send los valores de tiempo de espera.The following code example sets the LingerOption and Send time-out values.

// 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

Socket opciones determinan el comportamiento del elemento actual Socket.Socket options determine the behavior of the current Socket. Utilice esta sobrecarga para establecerlas Socket opciones que requieren una matriz de bytes como un valor de opción.Use this overload to set those Socket options that require a byte array as an option value.

Nota

Si recibe un SocketException, utilice el SocketException.ErrorCode propiedad para obtener el código de error específico.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Después de haber obtenido este código, consulte el código de error de API de la versión 2 de Windows Sockets documentación para obtener una descripción detallada del error.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación.This member outputs trace information when you enable network tracing in your application. Para obtener más información, consulte seguimiento de red en .NET Framework.For more information, see Network Tracing in the .NET Framework.

Consulte también:

Se aplica a