TcpClient.LingerState Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.