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

属性值

Boolean

如果 Socket 在调用 Close() 之后将逗留,则为 true;否则,为 false

注解

可以使用该 Enabled 属性来确定关闭后是否会 Socket 徘徊。 将此值更改为true或传递已SetSocketOption更改LingerOption的方法或false设置LingerStateLingerState或 property.to 禁用或启用挥之不去。

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

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

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

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

适用于