LingerOption(Boolean, Int32) Konstruktor

Definition

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.

Gilt für: