LingerOption(Boolean, Int32) コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
LingerOption クラスの新しいインスタンスを初期化します。
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)
パラメーター
例
次の例では、 メソッドを呼び出Closeした後に、以前に作成した Socket を 1 秒残すよう設定します。
LingerOption^ myOpts = gcnew LingerOption( true,1 );
mySocket->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::Linger, myOpts );
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)
注釈
を閉じて Socketも、送信ネットワーク バッファーにデータが残っている可能性があります。 パラメーターを enable
使用して、close メソッドの呼び出し後に 未送信データの送信を続行するかどうかを Socket 指定します。 パラメーターをseconds
使用して、タイムアウト前に未送信データの転送を試みる期間Socketを指定します。パラメーターに を指定し、 パラメーターに enable
0 をseconds
指定true
すると、 Socket は送信ネットワーク バッファーにデータが残っていないまでデータの送信を試みます。 パラメーターに enable
を指定false
すると、 Socket はすぐに閉じられ、未格納のデータは失われます。
次の表では、 プロパティまたは TcpClient.LingerStateTcpClient.Close プロパティで Socket.Close T:System.Net.Sockets.LingerOption インスタンスが作成および設定されたときのenable
、 および seconds
パラメーターの可能な値に基づいて、 メソッドと メソッドのSocket.LingerState動作について説明します。
enable |
seconds |
動作 |
---|---|---|
false (無効)、既定値 |
タイムアウトは適用されません (既定値)。 | 既定の IP プロトコルタイムアウトの期限が切れるまで、接続指向ソケット (TCP など) の保留中のデータの送信を試みます。 |
true (有効) |
0 以外のタイムアウト | 指定したタイムアウトが切れるまで保留中のデータの送信を試み、試行が失敗した場合、Winsock は接続をリセットします。 |
true (有効) |
タイムアウトが 0 です。 | 保留中のデータを破棄します。 接続指向ソケット (TCP など) の場合、Winsock は接続をリセットします。 |
IP スタックは、接続のラウンド トリップ時間に基づいて、使用する既定の IP プロトコルタイムアウト期間を計算します。 ほとんどの場合、スタックによって計算されたタイムアウトは、アプリケーションによって定義されたタイムアウトよりも関連性が高くなります。 これは、 プロパティが設定されていない場合のソケットの既定の LingerState 動作です。
プロパティに LingerTime 格納されている LingerState プロパティが既定の IP プロトコル タイムアウトより大きく設定されている場合でも、既定の IP プロトコルタイムアウトは引き続き適用され、オーバーライドされます。
適用対象
.NET