Socket.SetSocketOption Methode

Definition

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

Überlädt

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)

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)

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[])

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)

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

optionLevel
SocketOptionLevel

Einer der SocketOptionLevel-Werte.One of the SocketOptionLevel values.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.One of the SocketOptionName values.

optionValue
Object

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

Ausnahmen

optionValue ist null.optionValue is null.

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

Der Socket wurde geschlossen.The Socket has been closed.

Beispiele

Im folgenden Codebeispiel werden die LingerOption-und Send Timeout Werte festgelegt.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. Verwenden Sie diese Überladung, um die Optionen Linger, AddMembershipund DropMembershipSocket festzulegen.Use this overload to set the Linger, AddMembership, and DropMembershipSocket options. Verwenden Sie für die Option Linger Socket für den optionLevel-Parameter.For the Linger option, use Socket for the optionLevel parameter. Verwenden Sie für AddMembership und DropMembershipIP.For AddMembership and DropMembership, use IP. Wenn Sie den aktuellen Wert einer der oben aufgeführten Optionen erhalten möchten, verwenden Sie 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 API-Fehlercode Dokumentation der Windows Sockets, Version 2 , 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)

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

optionLevel
SocketOptionLevel

Einer der SocketOptionLevel-Werte.One of the SocketOptionLevel values.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.One of the SocketOptionName values.

optionValue
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.

Der Socket wurde geschlossen.The Socket has been closed.

Beispiele

Im folgenden Codebeispiel werden die LingerOption-und Send Timeout Werte festgelegt.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 0 (null) an, um die Option zu aktivieren, und einen Nullwert, um 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 an.For an option with an integer data type, specify the appropriate value. Socket Optionen werden nach Ebene der Protokoll Unterstützung gruppiert.Socket options are grouped by level of protocol support.

Im folgenden sind die verschiedenen Socket Optionen aufgeführt, die mit dieser Überladung festgelegt werden können.Listed below are the various Socket options that can be set using this overload. Diese Optionen werden nach dem entsprechenden SocketOptionLevelgruppiert.These options are grouped by the appropriate SocketOptionLevel. Wenn Sie eine dieser Optionen festlegen möchten, achten Sie darauf, dass Sie die entsprechende SocketOptionLevel für den optionLevel-Parameter verwenden.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel for the optionLevel parameter. Die Option, die Sie festlegen möchten, muss im optionName-Parameter angegeben werden.The option you choose to set must be specified in the optionName parameter. Wenn Sie den aktuellen Wert einer der aufgelisteten Optionen erhalten möchten, verwenden Sie 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 API-Fehlercode Dokumentation der Windows Sockets, Version 2 , 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 Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Siehe auch

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

optionLevel
SocketOptionLevel

Einer der SocketOptionLevel-Werte.One of the SocketOptionLevel values.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.One of the SocketOptionName values.

optionValue
Boolean

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

Ausnahmen

Das Socket-Objekt wurde geschlossen.The Socket object has been closed.

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 die Optionen DontLinger und OutOfBandInline Socketoptionen werden aktiviert.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 auf true fest, um die Option zu aktivieren, oder, um die Option zu false.Set optionValue to true to enable the option, or to false to disable the option.

Socket Optionen werden nach Ebene der Protokoll Unterstützung gruppiert.Socket options are grouped by level of protocol support.

Im folgenden sind die verschiedenen Socket Optionen aufgeführt, die mit dieser Überladung festgelegt werden können.Listed below are the various Socket options that can be set using this overload. Diese Optionen werden nach dem entsprechenden SocketOptionLevel Wert gruppiert.These options are grouped by the appropriate SocketOptionLevel value. Wenn Sie eine dieser Optionen festlegen möchten, achten Sie darauf, dass Sie den entsprechenden SocketOptionLevel Wert für den optionLevel-Parameter verwenden.If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel value for the optionLevel parameter. Die Option, die Sie festlegen möchten, muss im optionName-Parameter angegeben werden.The option you choose to set must be specified in the optionName parameter. Wenn Sie den aktuellen Wert einer der aufgelisteten Optionen erhalten möchten, verwenden Sie 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 eine SocketException Ausnahme erhalten, verwenden Sie 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 API-Fehlercode Dokumentation der Windows Sockets, Version 2 , 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[])

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

optionLevel
SocketOptionLevel

Einer der SocketOptionLevel-Werte.One of the SocketOptionLevel values.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.One of the SocketOptionName values.

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.

Der Socket wurde geschlossen.The Socket has been closed.

Beispiele

Im folgenden Codebeispiel werden die LingerOption-und Send Timeout Werte festgelegt.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. Verwenden Sie diese Überladung, um diese Socket Optionen festzulegen, für die ein Bytearray als Optionswert erforderlich ist.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 API-Fehlercode Dokumentation der Windows Sockets, Version 2 , 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 Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Siehe auch

Gilt für: