LingerOption(Boolean, Int32) Konstruktor
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.
Initialisiert eine neue Instanz der LingerOption-Klasse.
public:
LingerOption(bool enable, int seconds);
public LingerOption (bool enable, int seconds);
new System.Net.Sockets.LingerOption : bool * int -> System.Net.Sockets.LingerOption
Public Sub New (enable As Boolean, seconds As Integer)
Parameter
- enable
- Boolean
true, um die Verbindung nach dem Aufruf der Close()-Methode aufrechtzuerhalten, andernfalls false.
- seconds
- Int32
Die Anzahl der Sekunden, für die die Verbindung nach dem Aufruf der Close()-Methode aufrechterhalten werden soll.
Beispiele
Im folgenden Beispiel wird ein zuvor erstellter Socket Wert festgelegt, der nach dem Aufrufen der Close Methode eine Sekunde lang bleibt.
LingerOption^ myOpts = gcnew LingerOption( true,1 );
mySocket->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::Linger, myOpts );
LingerOption myOpts = new LingerOption(true,1);
mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, myOpts);
Dim myOpts As New LingerOption(True, 1)
mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, _
myOpts)
Hinweise
Es kann weiterhin Daten im ausgehenden Netzwerkpuffer verfügbar sein, nachdem Sie die SocketDatei geschlossen haben. Verwenden Sie den enable Parameter, um anzugeben, ob sie Socket nach dem Aufrufen der Close-Methode weiterhin nicht verwendete Daten übertragen möchten. Verwenden Sie den seconds Parameter, um anzugeben, wie lange Sie versuchen möchten, nicht verwendete Daten zu übertragen, bevor Sie Socket zeitent sind. Wenn Sie für den Parameter und 0 für den enable seconds Parameter angebentrue, versucht diesSocket, Daten zu senden, bis keine Daten im ausgehenden Netzwerkpuffer vorhanden sind. Wenn Sie den enable Parameter angebenfalse, wird dies Socket sofort geschlossen, und alle nicht verfügbaren Daten gehen verloren.
In der folgenden Tabelle wird das Verhalten auf der Socket.Close TcpClient.Close Grundlage der möglichen Werte und enable seconds Parameter beschrieben, wenn eine T:System.Net.Sockets.LingerOption-Instanz erstellt und in der Socket.LingerState TcpClient.LingerState Eigenschaft festgelegt wird.
enable |
seconds |
Verhalten |
|---|---|---|
false (deaktiviert), der Standardwert |
Das Timeout ist nicht anwendbar (Standard). | Versucht, ausstehende Daten für einen verbindungsorientierten Socket (TCP, z. B.) zu senden, bis die Standard-IP-Protokollzeit abläuft. |
true (aktiviert) |
Ein Nichtzero-Timeout | Versucht, ausstehende Daten zu senden, bis das angegebene Timeout abläuft, und wenn der Versuch fehlschlägt, setzt Winsock die Verbindung zurück. |
true (aktiviert) |
Ein Null-Timeout. | Verworfen alle ausstehenden Daten. Für verbindungsorientierte Sockets (TCP, z. B. TCP), setzt Winsock die Verbindung zurück. |
Der IP-Stapel berechnet den Standard-IP-Protokoll-Timeoutzeitraum, der basierend auf der Roundtripzeit der Verbindung verwendet werden soll. In den meisten Fällen ist das von dem Stapel berechnete Timeout relevanter als eine von einer Anwendung definierte. Dies ist das Standardverhalten für einen Socket, wenn die LingerState Eigenschaft nicht festgelegt ist.
Wenn die LingerTime in der LingerState Eigenschaft gespeicherte Eigenschaft größer als das Standard-IP-Protokoll-Timeout festgelegt ist, gilt das Standard-IP-Protokoll-Timeout weiterhin und außer Kraft.