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

Definition

Legt eine Socket-Option fest.Sets a Socket option.

Überlädt

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

Legt die angegebene Socket-Option auf den angegebenen, als Objekt dargestellten Wert fest.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)

Legt die angegebene Socket-Option auf den angegebenen ganzzahligen Wert fest.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)

Legt die angegebene Socket-Option auf den angegebenen Boolean-Wert fest.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[])

Legt die angegebene Socket-Option auf den angegebenen, als Bytearray dargestellten Wert fest.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)

Legt die angegebene Socket-Option auf den angegebenen, als Objekt dargestellten Wert fest.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)

Parameter

optionValue
Object Object Object Object

Eine LingerOption oder MulticastOption mit dem Wert der Option.A LingerOption or MulticastOption that contains the value of the option.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Beispiele

Im folgenden Codebeispiel wird die LingerOption und Send Timeoutwerte.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)

Hinweise

Socket Optionen bestimmen das Verhalten des aktuellen Socket.Socket options determine the behavior of the current Socket. Mit dieser Überladung können Sie legen die Linger, AddMembership, und DropMembership Socket Optionen.Use this overload to set the Linger, AddMembership, and DropMembershipSocket options. Für die Linger option können Sie Socket für die optionLevel Parameter.For the Linger option, use Socket for the optionLevel parameter. Für AddMembership und DropMembership, verwenden Sie IP.For AddMembership and DropMembership, use IP. Wenn Sie den aktuellen Wert eines der oben aufgeführten Optionen abzurufen, verwenden Sie möchten die GetSocketOption Methode.If you want to get the current value of any of the options listed above, use the GetSocketOption method.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der Windows Sockets-Version 2-API-Fehlercode Dokumentation für eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Siehe auch

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

Legt die angegebene Socket-Option auf den angegebenen ganzzahligen Wert fest.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)

Parameter

optionValue
Int32 Int32 Int32 Int32

Ein Wert der Option.A value of the option.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Beispiele

Im folgenden Codebeispiel wird die LingerOption und Send Timeoutwerte.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)

Hinweise

Socket Optionen bestimmen das Verhalten des aktuellen Socket.Socket options determine the behavior of the current Socket. Für eine Option mit einem Boolean -Datentyp, geben Sie einen Wert ungleich NULL, um die Option zu aktivieren und einen Nullwert auf die Option zu deaktivieren.For an option with a Boolean data type, specify a nonzero value to enable the option, and a zero value to disable the option. Geben Sie für eine Option mit einem Integer-Datentyp den entsprechenden Wert ein.For an option with an integer data type, specify the appropriate value. Socket Optionen sind nach Maß an Unterstützung des Protokolls gruppiert.Socket options are grouped by level of protocol support.

Nachfolgend sind die verschiedenen Socket Optionen, die mit dieser Überladung festgelegt werden können.Listed below are the various Socket options that can be set using this overload. Die Optionen sind vom entsprechenden gruppiert SocketOptionLevel.These options are grouped by the appropriate SocketOptionLevel. Wenn Sie beabsichtigen, eine der folgenden Optionen festlegen, werden Sie sicher, dass Sie den richtigen SocketOptionLevel für die optionLevel Parameter.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel for the optionLevel parameter. Die Möglichkeit, Sie legen auch, muss angegeben werden, der optionName Parameter.The option you choose to set must be specified in the optionName parameter. Wenn Sie den aktuellen Wert eines der aufgeführten Optionen abzurufen, verwenden Sie möchten die GetSocketOption Methode.If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.Udp options that can be set using this overload.

SocketOptionLevel.IPv6 Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.IPv6 options that can be set using this overload.

Weitere Informationen zu diesen Optionen finden Sie in der SocketOptionName Enumeration.For more information about these options, refer to the SocketOptionName enumeration.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der Windows Sockets-Version 2-API-Fehlercode Dokumentation für eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.For more information, see Network Tracing in the .NET Framework.

Siehe auch

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

Legt die angegebene Socket-Option auf den angegebenen Boolean-Wert fest.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)

Parameter

optionValue
Boolean Boolean Boolean Boolean

Der als Boolean-Wert dargestellte Wert der Option.The value of the option, represented as a Boolean.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Beispiele

Im folgenden Codebeispiel wird ein Socket geöffnet und ermöglicht die DontLinger und OutOfBandInline Socketoptionen.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);

Hinweise

Socket Optionen bestimmen das Verhalten des aktuellen Socket.Socket options determine the behavior of the current Socket. Legen Sie optionValue zu true auf die Option zu aktivieren oder false zum Deaktivieren der Option.Set optionValue to true to enable the option, or to false to disable the option.

Socket Optionen sind nach Maß an Unterstützung des Protokolls gruppiert.Socket options are grouped by level of protocol support.

Nachfolgend sind die verschiedenen Socket Optionen, die mit dieser Überladung festgelegt werden können.Listed below are the various Socket options that can be set using this overload. Die Optionen sind vom entsprechenden gruppiert SocketOptionLevel Wert.These options are grouped by the appropriate SocketOptionLevel value. Wenn Sie beabsichtigen, eine der folgenden Optionen festlegen, werden Sie sicher, dass Sie den richtigen SocketOptionLevel Wert für die optionLevel Parameter.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel value for the optionLevel parameter. Die Möglichkeit, Sie legen auch, muss angegeben werden, der optionName Parameter.The option you choose to set must be specified in the optionName parameter. Wenn Sie den aktuellen Wert eines der aufgeführten Optionen abzurufen, verwenden Sie möchten die GetSocketOption Methode.If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp Optionen, die mit dieser Überladung festgelegt werden können.SocketOptionLevel.Udp options that can be set using this overload.

Weitere Informationen zu diesen Optionen finden Sie in der SocketOptionName Enumeration.For more information on these options, refer to the SocketOptionName enumeration.

Hinweis

Wenn Sie erhalten eine SocketException Ausnahme verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen.If you receive a SocketException exception, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der Windows Sockets-Version 2-API-Fehlercode Dokumentation für eine ausführliche Beschreibung des Fehlers.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[])

Legt die angegebene Socket-Option auf den angegebenen, als Bytearray dargestellten Wert fest.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())

Parameter

optionValue
Byte[]

Ein Array vom Typ Byte, das den Wert der Option darstellt.An array of type Byte that represents the value of the option.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Beispiele

Im folgenden Codebeispiel wird die LingerOption und Send Timeoutwerte.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)

Hinweise

Socket Optionen bestimmen das Verhalten des aktuellen Socket.Socket options determine the behavior of the current Socket. Mit dieser Überladung können Sie die festgelegt Socket Optionen, die ein Bytearray als Optionswert erfordern.Use this overload to set those Socket options that require a byte array as an option value.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der Windows Sockets-Version 2-API-Fehlercode Dokumentation für eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.For more information, see Network Tracing in the .NET Framework.

Siehe auch

Gilt für: