LingerOption クラス
アセンブリ: System (system.dll 内)


Socket を閉じた後もまだ、発信ネットワーク バッファ内に使用可能なデータがある場合があります。Socket を閉じた後の、未送信データを転送する時間を指定する場合は、LingerOption を作成し、enable パラメータを true に設定し、seconds パラメータを、希望する時間に設定します。seconds パラメータは、Socket の接続を維持する時間を示します。この時間が経過するとタイムアウトが発生します。Socket を閉じることによって接続を切断する場合は、LingerOption を作成するときに、enable パラメータを true に設定し、seconds パラメータを 0 に設定します。この場合、Socket はすぐに閉じられ、未送信のデータは失われます。LingerOption を作成したら、Socket.SetSocketOption メソッドに渡します。TcpClient とデータの送受信を行っている場合は、LingerOption を TcpClient.LingerState メソッドに渡します。
既定では、接続の維持はタイムアウト 0 で有効になっています。そのため、Socket は、発信ネットワーク バッファに残っているデータがなくなるまで保留データを送信しようとします。

作成済みの Socket に対し、Close メソッドが呼び出されてから 1 秒間接続を維持するように設定する例を次に示します。
Dim myOpts As New LingerOption(True, 1) mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, _ myOpts)
LingerOption myOpts = new LingerOption(true ,1); mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, myOpts);

System.Net.Sockets.LingerOption


Windows 98, Windows 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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- LingerOption クラスのページへのリンク