共用方式為


SO_KEEPALIVE

SO_KEEPALIVE通訊端選項的狀態會決定是否在連線導向通訊端上傳送 keep-alive 封包。 此通訊端選項僅適用于接聽通訊端和連線導向通訊端。

若要設定此通訊端選項的狀態,WSK 應用程式會使用下列參數呼叫 WskControlSocket 函式。

參數

RequestType

WskSetOption

ControlCode

SO_KEEPALIVE

Level

SOL_SOCKET

InputSize

sizeof (ULONG)

InputBuffer

ULONG 型別變數的指標,其中包含通訊端選項新狀態的值:

  • 0:停用傳送 Keep-alive 封包

  • 1:啟用傳送 Keep-alive 封包

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 型別變數的指標,可接收通訊端選項狀態的值:

  • 0:已停用傳送保持運作封包

  • 1:已啟用傳送 Keep-alive 封包

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)