LingerOption.Enabled プロパティ


Socket を閉じた後も接続を維持するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether to linger after the Socket is closed.

 property bool Enabled { bool get(); void set(bool value); };
public bool Enabled { get; set; }
member this.Enabled : bool with get, set
Public Property Enabled As Boolean



Socket が呼び出された後も Close() が接続を維持する場合は true。それ以外の場合は falsetrue if the Socket should linger after Close() is called; otherwise, false.


プロパティを使用し Enabled て、を閉じた後もを終了するかどうかを決定でき Socket ます。You can use the Enabled property to determine whether the Socket will linger after closing. この値をまたはに変更し true false 、変更を LingerOption メソッドに渡す SetSocketOption か、または を無効にするか、 LingerState LingerState 残留を有効にします。Change this value to true or false and pass the altered LingerOption to the SetSocketOption method or set the LingerState or LingerState disable or enable lingering.

次の表では、プロパティの使用可能な値の動作と、プロパティ Enabled に格納されているプロパティについて説明し LingerTime LingerState ます。The following table describes the behavior for the possible values of the Enabled property and the LingerTime property stored in the LingerState property.

enable seconds 動作Behavior
false (無効)、既定値false (disabled), the default value タイムアウトは適用されません (既定)。The time-out is not applicable, (default). 既定の IP プロトコルのタイムアウトが経過するまで、接続指向のソケット (TCP など) の保留中のデータを送信しようとします。Attempts to send pending data for a connection-oriented socket (TCP, for example) until the default IP protocol time-out expires.
true enabledtrue (enabled) 0以外のタイムアウトA nonzero time-out 指定したタイムアウトが経過するまで保留中のデータを送信しようとします。失敗した場合は、Winsock によって接続がリセットされます。Attempts to send pending data until the specified time-out expires, and if the attempt fails, then Winsock resets the connection.
true enabledtrue (enabled) ゼロタイムアウト。A zero timeout. 保留中のデータを破棄します。Discards any pending data. 接続指向のソケット (TCP など) の場合、Winsock によって接続がリセットされます。For connection-oriented socket (TCP, for example), Winsock resets the connection.

IP スタックは、接続のラウンドトリップ時間に基づいて、使用する既定の IP プロトコルタイムアウト期間を計算します。The IP stack computes the default IP protocol time-out period to use based on the round trip time of the connection. ほとんどの場合、スタックによって計算されるタイムアウトは、アプリケーションで定義されているものよりも関連性が高くなります。In most cases, the time-out computed by the stack is more relevant than one defined by an application. これは、 LingerState プロパティが設定されていない場合のソケットの既定の動作です。This is the default behavior for a socket when the LingerState property is not set.

LingerTimeプロパティに格納されているプロパティ LingerState が既定の ip プロトコルタイムアウトよりも大きい値に設定されている場合でも、既定の ip プロトコルタイムアウトが適用され、上書きされます。When the LingerTime property stored in the LingerState property is set greater than the default IP protocol time-out, the default IP protocol time-out will still apply and override.