Socket.SetSocketOption Methode

Definition

Legt eine Socket-Option fest.

Überlädt

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Legt die angegebene Socket-Option auf den angegebenen Boolean-Wert fest.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Legt die angegebene Socket-Option auf den angegebenen, als Bytearray dargestellten Wert fest.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Legt die angegebene Socket-Option auf den angegebenen ganzzahligen Wert fest.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Legt die angegebene Socket-Option auf den angegebenen, als Objekt dargestellten Wert fest.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Legt die angegebene Socket-Option auf den angegebenen Boolean-Wert fest.

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.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.

optionValue
Boolean

Der als Boolean-Wert dargestellte Wert der Option.

Ausnahmen

Das Socket-Objekt wurde geschlossen.

Fehler beim Versuch, auf den Socket zuzugreifen.

Beispiele

Im folgenden Codebeispiel wird ein Socket geöffnet und die DontLinger Socketoptionen und OutOfBandInline aktiviert.

// 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. Legen Sie optionValue auf fest true , um die Option zu aktivieren oder die false Option zu deaktivieren.

Socket Die Optionen sind nach der Ebene der Protokollunterstützung gruppiert.

Nachfolgend sind die verschiedenen Socket Optionen aufgeführt, die mithilfe dieser Überladung festgelegt werden können. Diese Optionen werden nach dem entsprechenden SocketOptionLevel Wert gruppiert. Wenn Sie eine dieser Optionen festlegen möchten, stellen Sie sicher, dass Sie den entsprechenden SocketOptionLevel Wert für den optionLevel Parameter verwenden. Die option, die Sie festlegen möchten, muss im optionName Parameter angegeben werden. Wenn Sie den aktuellen Wert einer der aufgeführten Optionen abrufen möchten, verwenden Sie die GetSocketOption -Methode.

SocketOptionLevel.Socket Optionen, die mithilfe dieser Überladung festgelegt werden können.

SocketOptionLevel.IP Optionen, die mithilfe dieser Überladung festgelegt werden können.

SocketOptionLevel.Tcp Optionen, die mithilfe dieser Überladung festgelegt werden können.

SocketOptionLevel.Udp Optionen, die mithilfe dieser Überladung festgelegt werden können.

Weitere Informationen zu diesen Optionen finden Sie in der SocketOptionName Enumeration.

Hinweis

Wenn Sie eine SocketException Ausnahme erhalten, verwenden Sie die SocketException.ErrorCode -Eigenschaft, um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie eine ausführliche Beschreibung des Fehlers in der Dokumentation zur Windows Sockets-API, Version 2 .

Gilt für:

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Legt die angegebene Socket-Option auf den angegebenen, als Bytearray dargestellten Wert fest.

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.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.

optionValue
Byte[]

Ein Array vom Typ Byte, das den Wert der Option darstellt.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Beispiele

Im folgenden Codebeispiel werden die LingerOption Timeout- und Send -Werte festgelegt.

// 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);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' 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. Verwenden Sie diese Überladung, um die Socket Optionen festzulegen, die ein Bytearray als Optionswert erfordern.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten. Nachdem Sie diesen Code erhalten haben, finden Sie eine ausführliche Beschreibung des Fehlers in der Dokumentation zur Windows Sockets-API, Version 2 .

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Weitere Informationen

Gilt für:

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Legt die angegebene Socket-Option auf den angegebenen ganzzahligen Wert fest.

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.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.

optionValue
Int32

Ein Wert der Option.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Beispiele

Im folgenden Codebeispiel werden die LingerOption Timeout- und Send -Werte festgelegt.

// Specifies that send operations will time-out
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000);
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);
'Send operations will time-out if confirmation is
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

Hinweise

Socket -Optionen bestimmen das Verhalten des aktuellen Socket. Geben Sie für eine Option mit einem Boolean Datentyp einen Wert ohne Zero an, um die Option zu aktivieren, und einen Nullwert, um die Option zu deaktivieren. Geben Sie für eine Option mit einem ganzzahligen Datentyp den entsprechenden Wert an. Socket Die Optionen sind nach der Ebene der Protokollunterstützung gruppiert.

Nachfolgend sind die verschiedenen Socket Optionen aufgeführt, die mithilfe dieser Überladung festgelegt werden können. Diese Optionen werden nach den entsprechenden SocketOptionLevelgruppiert. Wenn Sie eine dieser Optionen festlegen möchten, stellen Sie sicher, dass Sie die entsprechende SocketOptionLevel für den optionLevel Parameter verwenden. Die option, die Sie festlegen möchten, muss im optionName Parameter angegeben werden. Wenn Sie den aktuellen Wert einer der aufgeführten Optionen abrufen möchten, verwenden Sie die GetSocketOption -Methode.

SocketOptionLevel.Socket Optionen, die mithilfe dieser Überladung festgelegt werden können.

SocketOptionLevel.IP Optionen, die mithilfe dieser Überladung festgelegt werden können.

SocketOptionLevel.Tcp Optionen, die mithilfe dieser Überladung festgelegt werden können.

SocketOptionLevel.Udp Optionen, die mithilfe dieser Überladung festgelegt werden können.

SocketOptionLevel.IPv6 Optionen, die mithilfe dieser Überladung festgelegt werden können.

Weitere Informationen zu diesen Optionen finden Sie in der SocketOptionName Enumeration.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten. Nachdem Sie diesen Code erhalten haben, finden Sie eine ausführliche Beschreibung des Fehlers in der Dokumentation zur Windows Sockets-API, Version 2 .

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Weitere Informationen

Gilt für:

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Legt die angegebene Socket-Option auf den angegebenen, als Objekt dargestellten Wert fest.

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.

optionName
SocketOptionName

Einer der SocketOptionName-Werte.

optionValue
Object

Eine LingerOption oder MulticastOption mit dem Wert der Option.

Ausnahmen

optionValue ist null.

Fehler beim Versuch, auf den Socket zuzugreifen.

Der Socket wurde geschlossen.

Beispiele

Im folgenden Codebeispiel werden die LingerOption Timeout- und Send -Werte festgelegt.

// 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);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' 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. Verwenden Sie diese Überladung, um die LingerOptionen , AddMembershipund DropMembershipSocket festzulegen. Verwenden Sie für die Linger Option für den optionLevel Parameter.Socket Verwenden Sie IPfür AddMembership und DropMembership. Wenn Sie den aktuellen Wert einer der oben aufgeführten Optionen abrufen möchten, verwenden Sie die GetSocketOption -Methode.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten. Nachdem Sie diesen Code erhalten haben, finden Sie eine ausführliche Beschreibung des Fehlers in der Dokumentation zur Windows Sockets-API, Version 2 .

Weitere Informationen

Gilt für: