Socket.GetSocketOption Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den Wert einer Socket Option zurück.
Überlädt
| Name | Beschreibung |
|---|---|
| GetSocketOption(SocketOptionLevel, SocketOptionName) |
Gibt den Wert einer angegebenen Socket Option zurück, dargestellt als Objekt. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Gibt die angegebene Socket Optionseinstellung zurück, dargestellt als Bytearray. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Gibt den Wert der angegebenen Socket Option in einem Array zurück. |
GetSocketOption(SocketOptionLevel, SocketOptionName)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Gibt den Wert einer angegebenen Socket Option zurück, dargestellt als Objekt.
public:
System::Object ^ GetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName);
public object? GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName);
public object GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName);
member this.GetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName -> obj
Public Function GetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName) As Object
Parameter
- optionLevel
- SocketOptionLevel
Einer der SocketOptionLevel Werte.
- optionName
- SocketOptionName
Einer der SocketOptionName Werte.
Gibt zurück
Ein Objekt, das den Wert der Option darstellt. Wenn der optionName Parameter auf den Rückgabewert festgelegt ist, handelt es sich um Linger eine Instanz der LingerOption Klasse. Wenn optionName dieser Wert auf AddMembership oder DropMembership" festgelegt ist, ist der Rückgabewert eine Instanz der MulticastOption Klasse. Wenn optionName es sich um einen anderen Wert handelt, ist der Rückgabewert eine ganze Zahl.
Ausnahmen
Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.
-oder-
optionName wurde auf den nicht unterstützten Wert MaxConnectionsfestgelegt.
Das Socket wurde geschlossen.
Beispiele
Im folgenden Codebeispiel werden die LingerOption Werte und Send Timeoutwerte abgerufen und in der Konsole angezeigt.
Console.WriteLine("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4)));
// blocks until send returns
int i = s.Send(msg);
// blocks until read returns
byte[] bytes = new byte[1024];
s.Receive(bytes);
// Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes));
s.Shutdown(SocketShutdown.Both);
Console.WriteLine("If data remains to be sent, this application will stay open for " + ((LingerOption)s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger)).LingerTime.ToString());
s.Close();
Console.WriteLine(("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4))))
' blocks until send returns
Dim i As Integer = s.Send(msg)
' blocks until read returns
Dim bytes(1024) As Byte
s.Receive(bytes)
'Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes))
s.Shutdown(SocketShutdown.Both)
Console.WriteLine(("If data remains to be sent, this application will stay open for " + CType(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger), LingerOption).LingerTime.ToString()))
s.Close()
End Sub
Hinweise
Socket options determine the behavior of the current Socket. Verwenden Sie diese Überladung, um die LingerOptionen AddMembershipabzurufen DropMembershipSocket . Verwenden Sie Socket für die Linger Option den optionLevel Parameter. Für AddMembership und DropMembership, verwenden IPSie . Wenn Sie den Wert einer der oben aufgeführten Optionen festlegen möchten, verwenden Sie die SetSocketOption Methode.
Hinweis
Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie in der Windows Sockets Version 2-API-Fehlercodedokumentation eine detaillierte Beschreibung des Fehlers.
Hinweis
Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.
Weitere Informationen
Gilt für:
GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Gibt die angegebene Socket Optionseinstellung zurück, dargestellt als Bytearray.
public:
void GetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, cli::array <System::Byte> ^ optionValue);
public void GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);
member this.GetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * byte[] -> unit
Public Sub GetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Byte())
Parameter
- optionLevel
- SocketOptionLevel
Einer der SocketOptionLevel Werte.
- optionName
- SocketOptionName
Einer der SocketOptionName Werte.
Ausnahmen
Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.
-oder-
In .NET Compact Framework-Anwendungen ist der Windows CE-Standardpufferspeicher auf 32768 Bytes festgelegt. Sie können den Pufferraum pro Socket ändern, indem Sie die Datei aufrufen SetSocketOption.
Das Socket wurde geschlossen.
Beispiele
Im folgenden Codebeispiel werden die LingerOption Werte und Send Timeoutwerte abgerufen und in der Konsole angezeigt.
Console.WriteLine("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4)));
// blocks until send returns
int i = s.Send(msg);
// blocks until read returns
byte[] bytes = new byte[1024];
s.Receive(bytes);
// Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes));
s.Shutdown(SocketShutdown.Both);
Console.WriteLine("If data remains to be sent, this application will stay open for " + ((LingerOption)s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger)).LingerTime.ToString());
s.Close();
Console.WriteLine(("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4))))
' blocks until send returns
Dim i As Integer = s.Send(msg)
' blocks until read returns
Dim bytes(1024) As Byte
s.Receive(bytes)
'Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes))
s.Shutdown(SocketShutdown.Both)
Console.WriteLine(("If data remains to be sent, this application will stay open for " + CType(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger), LingerOption).LingerTime.ToString()))
s.Close()
End Sub
Hinweise
Socket options determine the behavior of the current Socket. Nach erfolgreichem Abschluss dieser Methode enthält das durch den optionValue Parameter angegebene Array den Wert der angegebenen Socket Option.
Wenn die Länge des optionValue Arrays kleiner als die Anzahl der Bytes ist, die zum Speichern des Werts der angegebenen Socket Option erforderlich sind, GetSocketOption löst ein SocketException. Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie in der Windows Sockets Version 2-API-Fehlercodedokumentation eine detaillierte Beschreibung des Fehlers. Verwenden Sie diese Überladung für alle Sockets, die durch boolesche Werte oder ganze Zahlen dargestellt werden.
Hinweis
Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.
Weitere Informationen
Gilt für:
GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Gibt den Wert der angegebenen Socket Option in einem Array zurück.
public:
cli::array <System::Byte> ^ GetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, int optionLength);
public byte[] GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionLength);
member this.GetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * int -> byte[]
Public Function GetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionLength As Integer) As Byte()
Parameter
- optionLevel
- SocketOptionLevel
Einer der SocketOptionLevel Werte.
- optionName
- SocketOptionName
Einer der SocketOptionName Werte.
- optionLength
- Int32
Die Länge des erwarteten Rückgabewerts in Bytes.
Gibt zurück
Ein Array vom Typ Byte , das den Wert der Socketoption enthält.
Ausnahmen
Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.
-oder-
In .NET Compact Framework-Anwendungen ist der Windows CE-Standardpufferspeicher auf 32768 Bytes festgelegt. Sie können den Pufferraum pro Socket ändern, indem Sie die Datei aufrufen SetSocketOption.
Das Socket wurde geschlossen.
Beispiele
Im folgenden Codebeispiel werden die LingerOption Werte und Send Timeoutwerte abgerufen und in der Konsole angezeigt.
Console.WriteLine("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4)));
// blocks until send returns
int i = s.Send(msg);
// blocks until read returns
byte[] bytes = new byte[1024];
s.Receive(bytes);
// Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes));
s.Shutdown(SocketShutdown.Both);
Console.WriteLine("If data remains to be sent, this application will stay open for " + ((LingerOption)s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger)).LingerTime.ToString());
s.Close();
Console.WriteLine(("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4))))
' blocks until send returns
Dim i As Integer = s.Send(msg)
' blocks until read returns
Dim bytes(1024) As Byte
s.Receive(bytes)
'Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes))
s.Shutdown(SocketShutdown.Both)
Console.WriteLine(("If data remains to be sent, this application will stay open for " + CType(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger), LingerOption).LingerTime.ToString()))
s.Close()
End Sub
Hinweise
Der optionLength Parameter legt die maximale Größe des zurückgegebenen Bytearrays fest. Wenn für den Optionswert weniger Bytes erforderlich sind, enthält das Array nur so viele Bytes. Wenn für den Optionswert mehr Bytes erforderlich sind, GetSocketOption wird ein SocketException. Verwenden Sie diese Überladung für alle Sockets, die durch boolesche Werte oder ganze Zahlen dargestellt werden.
Hinweis
Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie in der Windows Sockets Version 2-API-Fehlercodedokumentation eine detaillierte Beschreibung des Fehlers.
Hinweis
Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.