LingerOption.Enabled 属性

定义

获取或设置一个值,指示 Socket 关闭后是否逗留。

public:
 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;否则,为 false

注解

可以使用 Enabled 属性来确定 关闭后是否 Socket 会挥之不去。 将此值更改为 truefalse ,并将更改的 LingerOptionSetSocketOption 传递给 方法,或者设置 LingerStateLingerState property.to 禁用或启用挥之不去。

下表描述了 属性和 LingerTime 属性中LingerState存储的属性的Enabled可能值的行为。

enable seconds 行为
false (禁用) ,默认值 超时不适用, (默认) 。 尝试为面向连接的套接字 (TCP 发送挂起数据,例如,) ,直到默认 IP 协议超时过期。
true 已启用 () 非零超时 尝试发送挂起的数据,直到指定的超时过期,如果尝试失败,Winsock 将重置连接。
true 已启用 () 零超时。 放弃任何挂起的数据。 对于面向连接的套接字 (TCP(例如) ),Winsock 会重置连接。

IP 堆栈根据连接的往返时间计算要使用的默认 IP 协议超时期限。 在大多数情况下,堆栈计算的超时比应用程序定义的超时更相关。 这是未设置 属性时 LingerState 套接字的默认行为。

LingerTime当属性中LingerState存储的属性设置为大于默认 IP 协议超时时,默认 IP 协议超时仍将应用并替代。

适用于