LingerOption(Boolean, Int32) Constructor

Definitie

Initialiseert een nieuw exemplaar van de 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)

Parameters

enable
Boolean

true om verbonden te blijven nadat de Close() methode is aangeroepen; falseanders.

seconds
Int32

Het aantal seconden dat moet worden verbonden nadat de Close() methode is aangeroepen.

Voorbeelden

In het volgende voorbeeld wordt een eerder gemaakte set ingesteld Socket om één seconde achter te blijven nadat de Close methode is aangeroepen.

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)

Opmerkingen

Er zijn mogelijk nog steeds gegevens beschikbaar in de uitgaande netwerkbuffer nadat u de Socketbuffer hebt gesloten. Gebruik de enable parameter om op te geven of u Socket de niet-verzonden gegevens wilt blijven verzenden nadat de methode sluiten is aangeroepen. Gebruik de seconds parameter om aan te geven hoelang u wilt dat de Socket niet-verzonden gegevens worden overgebracht voordat er een time-out optreedt. Als u opgeeft true voor de enable parameter en 0 voor de seconds parameter, Socket wordt geprobeerd om gegevens te verzenden totdat de uitgaande netwerkbuffer geen gegevens meer bevat. Als u opgeeft false voor de enable parameter, wordt de Socket parameter onmiddellijk gesloten en gaan alle niet-verzonden gegevens verloren.

In de volgende tabel wordt het gedrag van de Socket.Close en TcpClient.Close methoden beschreven op basis van de mogelijke waarden van de enable en seconds parameters wanneer een T:System.Net.Sockets.LingerOption-exemplaar wordt gemaakt en ingesteld in de Socket.LingerState of TcpClient.LingerState eigenschap.

enable seconds Behavior
false (uitgeschakeld), de standaardwaarde De time-out is niet van toepassing (standaard). Pogingen om in behandeling zijnde gegevens te verzenden voor een verbindingsgeoriënteerde socket (bijvoorbeeld TCP) totdat de time-out van het standaard-IP-protocol verloopt.
true (ingeschakeld) Een time-out voor niet-nul Probeert in behandeling zijnde gegevens te verzenden totdat de opgegeven time-out verloopt en als de poging mislukt, wordt de verbinding opnieuw ingesteld door Winsock.
true (ingeschakeld) Een time-out van nul. Verwijdert alle in behandeling zijnde gegevens. Voor verbindingsgeoriënteerde socket (BIJVOORBEELD TCP) stelt Winsock de verbinding opnieuw in.

De IP-stack berekent de standaard time-outperiode van het IP-protocol die moet worden gebruikt op basis van de retourtijd van de verbinding. In de meeste gevallen is de time-out die door de stack wordt berekend, relevanter dan één die is gedefinieerd door een toepassing. Dit is het standaardgedrag voor een socket wanneer de LingerState eigenschap niet is ingesteld.

Wanneer de LingerTime eigenschap die is opgeslagen in de LingerState eigenschap groter is dan de standaardtime-out van het IP-protocol, wordt de time-out van het standaard-IP-protocol nog steeds toegepast en overschreven.

Van toepassing op