This documentation is archived and is not being maintained.

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.

Namespace: System.Net.Sockets
Assembly: System (in system.dll)

Public Class LingerOption
Dim instance As LingerOption

public class LingerOption
public class LingerOption
Not applicable.

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 enable 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 enable parameter set to true and the seconds parameter set to zero. 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.

The following example sets a previously created Socket to linger one second after calling the Close method.

Dim myOpts As New LingerOption(True, 1)
mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, _

LingerOption myOpts = new LingerOption(true,1);
    SocketOptionName.Linger, myOpts);


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0