LingerOption.Enabled 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,指示 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 徘徊。 将此值更改为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 协议超时仍将应用和替代。