次の方法で共有


SO_KEEPALIVE

SO_KEEPALIVE ソケット オプションの状態は、キープアライブ パケットが接続指向ソケットで送信されるかどうかを決定します。 このソケット オプションは、リッスンしているソケットと接続指向のソケットにのみ適用されます。

このソケット オプションの状態を設定するために、WSK アプリケーションは次のパラメーターを使用して WskControlSocket 関数を呼び出します。

パラメーター 価値

RequestType

WskSetOption

ControlCode

SO_KEEPALIVE

のレベル

SOL_SOCKET

InputSize

sizeof(ULONG)

InputBuffer

ソケット オプションの新しい状態の値を含む ULONG 型の変数へのポインター。

  • 0: キープアライブ パケットの送信を無効にする

  • 1: キープアライブ パケットの送信を有効にする

OutputSize

0

OutputBuffer

NULL

OutputSizeReturned

NULL

このソケット オプションの状態を取得するために、WSK アプリケーションは、次のパラメーターを使用して WskControlSocket 関数を呼び出します。

パラメーター 価値

RequestType

WskGetOption

ControlCode

SO_KEEPALIVE

のレベル

SOL_SOCKET

InputSize

0

InputBuffer

NULL

OutputSize

sizeof(ULONG)

OutputBuffer

ソケット オプションの状態の値を受け取る ULONG 型の変数へのポインター。

  • 0: キープアライブ パケットの送信が無効になっている

  • 1: キープアライブ パケットの送信が有効になっている

OutputSizeReturned

NULL

WSK アプリケーションは、WskControlSocket 関数を呼び出して、SO_KEEPALIVE ソケット オプションの状態を設定または取得するときに、IRP へのポインターを指定する必要があります。

このソケット オプションの既定の状態は、キープアライブ パケットの送信が無効になっているということです。

このソケット オプションがリッスン ソケットで有効になっている場合、そのリッスン ソケットで受け入れられるすべての受信接続では、このソケット オプションが既定で有効になります。 WSK アプリケーションは、受け入れられたソケット WskControlSocket 関数を呼び出して、リッスンしているソケットから継承されたこのソケット オプションの状態をオーバーライドできます。

キープアライブ パケットは、基になるネットワーク トランスポートによって送信されます。 すべてのネットワーク トランスポートがキープアライブ パケットの送信をサポートしているわけではありません。

キープアライブ パケットの使用の詳細については、RFC 1122 、セクション 4.2.3.6、"TCP Keep-Alives"を参照してください。

必要条件

バージョン

Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。

ヘッダ

Ws2def.h (Wsk.h を含む)