TcpClient.LingerState Egenskap

Definition

Hämtar eller anger information om det dröjande tillståndet för den associerade socketen.

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

Egenskapsvärde

En LingerOption. Som standard är kvardröjande inaktiverat.

Exempel

Följande kodexempel anger och hämtar sockets-tiden.

// 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

Kommentarer

Egenskapen LingerState ändrar hur Close metoden beter sig. Den här egenskapen ändrar under vilka förhållanden anslutningen kan återställas av Winsock när den ställs in. Anslutningsåterställning kan fortfarande ske baserat på IP-protokollbeteendet.

Den här egenskapen styr hur lång tid TCP-anslutningen förblir öppen efter ett anrop till Close när data fortfarande ska skickas. När du anropar Write metoden placeras data i den utgående nätverksbufferten. Den här egenskapen kan användas för att säkerställa att dessa data skickas till fjärrvärden innan Close metoden släpper anslutningen.

Om du vill aktivera kvardröjande skapar du en LingerOption instans som innehåller önskade värden och anger egenskapen till den här instansen LingerState .

I följande tabell beskrivs metodens Close beteende för de möjliga värdena Enabled för egenskapen och egenskapen LingerTime som lagras i LingerState egenskapen.

LingerState.Enabled LingerState.LingerTime Behavior
false (inaktiverad), standardvärdet Tidsgränsen är inte tillämplig (standard). Försöker skicka väntande data tills tidsgränsen för STANDARD-IP-protokollet upphör att gälla.
true (aktiverad) En timeout som inte är noll Försöker skicka väntande data tills den angivna tidsgränsen upphör att gälla, och om försöket misslyckas återställer Winsock anslutningen.
true (aktiverad) En tidsgräns på noll. Tar bort väntande data och Winsock återställer anslutningen.

IP-stacken beräknar den standardtidsintervall för IP-protokollet som ska användas baserat på anslutningens tur och retur-tid. I de flesta fall är tidsgränsen som beräknas av stacken mer relevant än den som definieras av ett program. Det här är standardbeteendet för en socket när egenskapen LingerState inte har angetts.

När egenskapen LingerTime som lagras i LingerState egenskapen är större än tidsgränsen för STANDARD-IP-protokollet tillämpas och åsidosätts standardgränsen för IP-protokollet.

Gäller för

Se även