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

Définition

Définit une option Socket.Sets a Socket option.

Surcharges

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

Affecte la valeur spécifiée à l'option Socket spécifiée représentée sous la forme d'un objet.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)

Affecte la valeur entière spécifiée à l'option Socket spécifiée.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)

Affecte la valeur Socket spécifiée à l'option Boolean spécifiée.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[])

Affecte la valeur spécifiée à l'option Socket spécifiée représentée sous la forme d'un tableau d'octets.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)

Affecte la valeur spécifiée à l'option Socket spécifiée représentée sous la forme d'un objet.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)

Paramètres

optionValue
Object Object Object Object

LingerOption ou MulticastOption qui contient la valeur de l'option.A LingerOption or MulticastOption that contains the value of the option.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Exemples

Le code suivant exemple définit le LingerOption et Send les valeurs de délai d’attente.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)

Remarques

Socket options déterminent le comportement de l’actuel Socket.Socket options determine the behavior of the current Socket. Utilisez cette surcharge pour définir le Linger, AddMembership, et DropMembership Socket options.Use this overload to set the Linger, AddMembership, and DropMembershipSocket options. Pour le Linger , utilisez l’option Socket pour le optionLevel paramètre.For the Linger option, use Socket for the optionLevel parameter. Pour AddMembership et DropMembership, utilisez IP.For AddMembership and DropMembership, use IP. Si vous souhaitez obtenir la valeur actuelle d’une des options ci-dessus, utilisez la GetSocketOption (méthode).If you want to get the current value of any of the options listed above, use the GetSocketOption method.

Notes

Si vous recevez un SocketException, utilisez le SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la code d’erreur API Windows Sockets version 2 documentation pour obtenir une description détaillée de l’erreur.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Voir aussi

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

Affecte la valeur entière spécifiée à l'option Socket spécifiée.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)

Paramètres

optionValue
Int32 Int32 Int32 Int32

Valeur de l'option.A value of the option.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Exemples

Le code suivant exemple définit le LingerOption et Send les valeurs de délai d’attente.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)

Remarques

Socket options déterminent le comportement de l’actuel Socket.Socket options determine the behavior of the current Socket. Pour une option avec un Boolean de type de données, spécifiez une valeur différente de zéro pour activer l’option et une valeur zéro pour désactiver l’option.For an option with a Boolean data type, specify a nonzero value to enable the option, and a zero value to disable the option. Pour une option avec un type de données integer, spécifiez la valeur appropriée.For an option with an integer data type, specify the appropriate value. Socket options sont regroupées par niveau de prise en charge du protocole.Socket options are grouped by level of protocol support.

Vous trouverez ci-dessous les différentes Socket options qui peuvent être définies à l’aide de cette surcharge.Listed below are the various Socket options that can be set using this overload. Ces options sont regroupées par approprié SocketOptionLevel.These options are grouped by the appropriate SocketOptionLevel. Si vous envisagez de définir ces options, veillez à utiliser approprié SocketOptionLevel pour le optionLevel paramètre.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel for the optionLevel parameter. L’option que vous choisissez de définir doit être spécifiée dans le optionName paramètre.The option you choose to set must be specified in the optionName parameter. Si vous souhaitez obtenir la valeur actuelle d’une des options répertoriées, utilisez le GetSocketOption (méthode).If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.Udp options that can be set using this overload.

SocketOptionLevel.IPv6 options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.IPv6 options that can be set using this overload.

Pour plus d’informations sur ces options, reportez-vous à la SocketOptionName énumération.For more information about these options, refer to the SocketOptionName enumeration.

Notes

Si vous recevez un SocketException, utilisez le SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la code d’erreur API Windows Sockets version 2 documentation pour obtenir une description détaillée de l’erreur.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez le traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Voir aussi

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

Affecte la valeur Socket spécifiée à l'option Boolean spécifiée.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)

Paramètres

optionValue
Boolean Boolean Boolean Boolean

Valeur de l'option, représentée en tant que Boolean.The value of the option, represented as a Boolean.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Exemples

L’exemple de code suivant ouvre un socket et permet la DontLinger et OutOfBandInline options 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);

Remarques

Socket options déterminent le comportement de l’actuel Socket.Socket options determine the behavior of the current Socket. Définissez optionValue à true pour activer l’option, ou la valeur false pour désactiver l’option.Set optionValue to true to enable the option, or to false to disable the option.

Socket options sont regroupées par niveau de prise en charge du protocole.Socket options are grouped by level of protocol support.

Vous trouverez ci-dessous les différentes Socket options qui peuvent être définies à l’aide de cette surcharge.Listed below are the various Socket options that can be set using this overload. Ces options sont regroupées par approprié SocketOptionLevel valeur.These options are grouped by the appropriate SocketOptionLevel value. Si vous envisagez de définir ces options, veillez à utiliser approprié SocketOptionLevel valeur pour le optionLevel paramètre.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel value for the optionLevel parameter. L’option que vous choisissez de définir doit être spécifiée dans le optionName paramètre.The option you choose to set must be specified in the optionName parameter. Si vous souhaitez obtenir la valeur actuelle d’une des options répertoriées, utilisez le GetSocketOption (méthode).If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp options qui peuvent être définies à l’aide de cette surcharge.SocketOptionLevel.Udp options that can be set using this overload.

Pour plus d’informations sur ces options, reportez-vous à la SocketOptionName énumération.For more information on these options, refer to the SocketOptionName enumeration.

Notes

Si vous recevez un SocketException exception, utilisez le SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.If you receive a SocketException exception, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la code d’erreur API Windows Sockets version 2 documentation pour obtenir une description détaillée de l’erreur.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[])

Affecte la valeur spécifiée à l'option Socket spécifiée représentée sous la forme d'un tableau d'octets.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())

Paramètres

optionValue
Byte[]

Tableau de type Byte représentant la valeur de l'option.An array of type Byte that represents the value of the option.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.An error occurred when attempting to access the socket.

Exemples

Le code suivant exemple définit le LingerOption et Send les valeurs de délai d’attente.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)

Remarques

Socket options déterminent le comportement de l’actuel Socket.Socket options determine the behavior of the current Socket. Utilisez cette surcharge pour définir celles Socket options qui nécessitent un tableau d’octets comme valeur d’option.Use this overload to set those Socket options that require a byte array as an option value.

Notes

Si vous recevez un SocketException, utilisez le SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Une fois que vous avez obtenu ce code, reportez-vous à la code d’erreur API Windows Sockets version 2 documentation pour obtenir une description détaillée de l’erreur.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez le traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Voir aussi

S’applique à