SO_KEEPALIVE
SO_KEEPALIVE通訊端選項的狀態會決定是否在連線導向通訊端上傳送 keep-alive 封包。 此通訊端選項僅適用于接聽通訊端和連線導向通訊端。
若要設定此通訊端選項的狀態,WSK 應用程式會使用下列參數呼叫 WskControlSocket 函式。
參數 | 值 |
---|---|
RequestType |
WskSetOption |
ControlCode |
SO_KEEPALIVE |
Level |
SOL_SOCKET |
InputSize |
sizeof (ULONG) |
InputBuffer |
ULONG 型別變數的指標,其中包含通訊端選項新狀態的值:
|
OutputSize |
0 |
OutputBuffer |
NULL |
OutputSizeReturned |
NULL |
若要擷取此通訊端選項的狀態,WSK 應用程式會使用下列參數呼叫 WskControlSocket 函式。
參數 | 值 |
---|---|
RequestType |
WskGetOption |
ControlCode |
SO_KEEPALIVE |
Level |
SOL_SOCKET |
InputSize |
0 |
InputBuffer |
NULL |
OutputSize |
sizeof (ULONG) |
OutputBuffer |
ULONG 型別變數的指標,可接收通訊端選項狀態的值:
|
OutputSizeReturned |
NULL |
呼叫 WskControlSocket 函式時,WSK 應用程式必須指定 IRP 的指標,才能設定或擷取SO_KEEPALIVE通訊端選項的狀態。
此通訊端選項的預設狀態是已停用傳送 keep-alive 封包。
如果在接聽通訊端上啟用此通訊端選項,該接聽通訊端上接受的所有連入連線預設都會啟用此通訊端選項。 WSK 應用程式可以在接受的通訊端上呼叫 WskControlSocket 函式,以覆寫繼承自接聽通訊端的這個通訊端選項狀態。
保持連線封包會由基礎網路傳輸傳送。 並非所有網路傳輸都支援傳送 keep-alive 封包。
如需使用 keep-alive 封包的詳細資訊,請參閱 RFC 1122,第 4.2.3.6 節「TCP Keep-Alives」。
規格需求
版本 |
可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 |
Ws2def.h (包含 Wsk.h) |