LingerOption Class
Specifies whether a Socket will remain connected after a call to Close and the length of time it will remain connected, if data remains to be sent.
For a list of all members of this type, see LingerOption Members.
System.Object
System.Net.Sockets.LingerOption
[Visual Basic] Public Class LingerOption [C#] public class LingerOption [C++] public __gc class LingerOption [JScript] public class LingerOption
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
There may still be data available in the outgoing network buffer after you close the Socket. If you want to specify the amount of time that the Socket will attempt to transmit unsent data after closing, create a LingerOption with the enabled parameter set to true, and the seconds parameter set to the desired amount of time. The seconds parameter is used to indicate how long you would like the Socket to remain connected before timing out. If you do not want the Socket to stay connected for any length of time after closing, create a LingerOption with the enabled parameter set to false. In this case, the Socket will close immediately and any unsent data will be lost. Once created, pass the LingerOption to the Socket.SetSocketOption method. If you are sending and receiving data with a TcpClient, then pass the LingerOption to the TcpClient.LingerState method.
By default, lingering is enabled with a zero time-out. As a result, the Socket will attempt to send pending data until there is no data left in the outgoing network buffer.
Example
[Visual Basic, C#, C++] The following example sets a previously created Socket to linger one second after calling the Close method.
[Visual Basic] Dim myOpts As New LingerOption(True, 1) mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, _ myOpts) [C#] LingerOption myOpts = new LingerOption(true,1); mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, myOpts); [C++] LingerOption* myOpts = new LingerOption(true,1); mySocket->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, myOpts);
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Net.Sockets
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
Assembly: System (in System.dll)