LingerOption(Boolean, Int32) Konstruktor
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci LingerOption třídy.
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)
Parametry
Příklady
Následující příklad nastaví dříve vytvořenou Socket tak, aby po volání metody přetrvávala o jednu sekundu Close .
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)
Poznámky
Po zavření Socketvyrovnávací paměti odchozí sítě mohou být stále k dispozici data . Pomocí parametru enable určete, zda chcete Socket pokračovat v přenosu neodeslaných dat po zavolání metody uzavření. Pomocí parametru seconds uveďte, jak dlouho chcete před uplynutím časového limitu Socket pokusit o přenos nesdělených dat. Pokud zadáte true parametr a hodnotu 0 parametru enableseconds , pokusí se odeslat data, Socket dokud v odchozí síťové vyrovnávací paměti nezůstane žádná data. Pokud zadáte false parametr enable , Socket zavře se okamžitě a všechna nezadaná data budou ztracena.
Následující tabulka popisuje chování Socket.Close a TcpClient.Close metody na základě možných hodnot enable a seconds parametrů, když je vytvořena instance T:System.Net.Sockets.LingerOption a nastavena v objektu Socket.LingerState nebo TcpClient.LingerState vlastnosti.
enable |
seconds |
Chování |
|---|---|---|
false (zakázáno), výchozí hodnota |
Časový limit není použitelný (výchozí). | Pokusí se odeslat nevyřízená data pro soket orientovaný na připojení (například TCP), 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. V případě soketu orientovaného na připojení (například TCP) služba Winsock připojení resetuje. |
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.