Auf Englisch lesen

Freigeben über


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)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

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

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, bool optionValue);

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.

C#
// 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:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

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

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);

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.

C#
// 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);

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:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

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

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionValue);

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.

C#
// 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:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

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

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue);

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.

C#
// 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);

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:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1