Sdílet prostřednictvím


TcpClient.LingerState Vlastnost

Definice

Získá nebo nastaví informace o stavu přetrvání přidruženého soketu.

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; }
public System.Net.Sockets.LingerOption LingerState { get; set; }
member this.LingerState : System.Net.Sockets.LingerOption with get, set
Public Property LingerState As LingerOption

Hodnota vlastnosti

Nějaké LingerOption. Ve výchozím nastavení je přetrvání zakázané.

Příklady

Následující příklad kódu nastaví a získá sokety linger time.

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

Poznámky

Vlastnost LingerState změní způsob, jakým Close se metoda chová. Tato vlastnost při nastavení upravuje podmínky, za kterých může být připojení resetována službou Winsock. K resetování připojení může stále docházet na základě chování protokolu IP.

Tato vlastnost řídí dobu, po kterou zůstane připojení TCP otevřené po volání, Close když budou data odeslána. Při volání Write metody se data umístí do odchozí síťové vyrovnávací paměti. Tuto vlastnost lze použít k zajištění, že se tato data odesílají vzdálenému hostiteli předtím, než Close metoda připojení zahodí.

Chcete-li povolit přetrvání, vytvořte LingerOption instanci obsahující požadované hodnoty a nastavte LingerState vlastnost na tuto instanci.

Následující tabulka popisuje chování Close metody pro možné hodnoty Enabled vlastnosti a LingerTime vlastnost uložená LingerState ve vlastnosti.

LingerState.Enabled LingerState.LingerTime Chování
false (zakázáno), výchozí hodnota Časový limit není použitelný (výchozí). Pokusí se odeslat nevyřízená data, dokud nevyprší vypršení časového limitu výchozího protokolu IP.
true (povoleno) Nenulový časový limit Pokusí se odeslat nevyřízená data, dokud nevyprší zadaný časový limit a pokud pokus selže, služba Winsock připojení resetuje.
true (povoleno) Časový limit nuly. Zahodí všechna čekající data a Rozhraní Winsock obnoví připojení.

Zásobník IP adres vypočítá výchozí časové období vypršení časového limitu protokolu IP, které se použije na základě doby odezvy připojení. Ve většině případů je časový limit vypočítaný zásobníkem relevantnější než jeden definovaný aplikací. Toto je výchozí chování soketu LingerState , pokud vlastnost není nastavena.

LingerTime Pokud je vlastnost uložená ve LingerState vlastnosti nastavena vyšší než výchozí časový limit protokolu IP, výchozí časový limit protokolu IP se bude dál používat a přepsat.

Platí pro

Viz také