SO_KEEPALIVE套接字选项的状态确定是否在面向连接的套接字上发送保持连接数据包。 此套接字选项仅适用于侦听套接字和面向连接的套接字。
若要设置此套接字选项的状态,WSK 应用程序使用以下参数调用 WskControlSocket 函数。
| 参数 | 价值 |
|---|---|
RequestType |
WskSetOption |
ControlCode |
SO_KEEPALIVE |
级别 |
SOL_SOCKET |
InputSize |
sizeof(ULONG) |
InputBuffer |
指向 ULONG 类型的变量的指针,其中包含套接字选项的新状态的值:
|
OutputSize |
0 |
OutputBuffer |
Null |
OutputSizeReturned |
Null |
若要检索此套接字选项的状态,WSK 应用程序使用以下参数调用 WskControlSocket 函数。
| 参数 | 价值 |
|---|---|
RequestType |
WskGetOption |
ControlCode |
SO_KEEPALIVE |
级别 |
SOL_SOCKET |
InputSize |
0 |
InputBuffer |
Null |
OutputSize |
sizeof(ULONG) |
OutputBuffer |
指向 ULONG 类型的变量的指针,该变量接收套接字选项的状态值:
|
OutputSizeReturned |
Null |
当调用 WskControlSocket 函数来设置或检索SO_KEEPALIVE套接字选项的状态时,WSK 应用程序必须指定指向 IRP 的指针。
此套接字选项的默认状态是禁用发送保持活动数据包。
如果在侦听套接字上启用此套接字选项,则该侦听套接字上接受的所有传入连接都默认启用此套接字选项。 WSK 应用程序可以在接受的套接字上调用 WskControlSocket 函数,以替代从侦听套接字继承的此套接字选项的状态。
保持连接数据包由基础网络传输发送。 并非所有网络传输都支持发送保持连接数据包。
有关使用保持连接数据包的详细信息,请参阅 RFC 1122,第 4.2.3.6 节“TCP Keep-Alives”。
要求
版本 |
在 Windows Vista 和更高版本的 Windows作系统中可用。 |
标题 |
Ws2def.h (包括 Wsk.h) |