TcpClient.LingerState Eigenschap

Definitie

Hiermee wordt informatie opgehaald of ingesteld over de lingerstatus van de bijbehorende socket.

public:
 property System::Net::Sockets::LingerOption ^ LingerState { System::Net::Sockets::LingerOption ^ get(); void set(System::Net::Sockets::LingerOption ^ value); };
public System.Net.Sockets.LingerOption LingerState { get; set; }
member this.LingerState : System.Net.Sockets.LingerOption with get, set
Public Property LingerState As LingerOption

Waarde van eigenschap

A LingerOption. Achterblijven is standaard uitgeschakeld.

Voorbeelden

In het volgende codevoorbeeld worden de sockets achtergebleven tijd ingesteld.

// sets the amount of time to linger after closing, using the LingerOption public property.
LingerOption lingerOption = new LingerOption (true, 10);

tcpClient.LingerState = lingerOption;

// gets the amount of linger time set, using the LingerOption public property.
if (tcpClient.LingerState.LingerTime == 10)
    Console.WriteLine ("The linger state setting was successfully set to " + tcpClient.LingerState.LingerTime.ToString ());
' Sets the amount of time to linger after closing, using the LingerOption public property.
Dim lingerOption As New LingerOption(True, 10)
tcpClient.LingerState = lingerOption

' Gets the amount of linger time set, using the LingerOption public property.
If tcpClient.LingerState.LingerTime = 10 Then
   Console.WriteLine(("The linger state setting was successfully set to " + tcpClient.LingerState.LingerTime.ToString()))
End If

Opmerkingen

De LingerState eigenschap verandert de manier waarop Close de methode zich gedraagt. Deze eigenschap wanneer deze eigenschap wordt ingesteld, wijzigt de voorwaarden waaronder de verbinding opnieuw kan worden ingesteld door Winsock. Het opnieuw instellen van verbindingen kan nog steeds plaatsvinden op basis van het gedrag van het IP-protocol.

Met deze eigenschap bepaalt u hoe lang de TCP-verbinding open blijft na een aanroep naar Close wanneer gegevens moeten worden verzonden. Wanneer u de Write methode aanroept, worden gegevens in de uitgaande netwerkbuffer geplaatst. Deze eigenschap kan worden gebruikt om ervoor te zorgen dat deze gegevens naar de externe host worden verzonden voordat de Close methode de verbinding verwijdert.

Als u lingering wilt inschakelen, maakt u een LingerOption exemplaar met de gewenste waarden en stelt u de LingerState eigenschap in op dit exemplaar.

In de volgende tabel wordt het gedrag van de Close methode beschreven voor de mogelijke waarden van de Enabled eigenschap en de LingerTime eigenschap die is opgeslagen in de LingerState eigenschap.

LingerState.Enabled LingerState.LingerTime Behavior
false (uitgeschakeld), de standaardwaarde De time-out is niet van toepassing (standaard). Pogingen om in behandeling zijnde gegevens te verzenden totdat de standaard time-out van het 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 en Winsock stelt 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

Zie ook