ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) メソッド

定義

TCP 接続での keep-alive オプションを有効または無効にします。

public:
 static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public static void SetTcpKeepAlive (bool enabled, int keepAliveTime, int keepAliveInterval);
static member SetTcpKeepAlive : bool * int * int -> unit
Public Shared Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)

パラメーター

enabled
Boolean

true に設定すると、指定された keepAliveTime 値および keepAliveInterval 値を使用して、TCP 接続の TCP keep-alive オプションが有効になります。

false に設定すると、TCP keep-alive オプションが無効になり、残りのパラメーターは無視されます。

既定値は false です。

keepAliveTime
Int32

最初の keep-alive パケットが送信されるまで活動を行わないタイムアウト値をミリ秒単位で指定します。

値は 0 よりも大きくする必要があります。 0 またはそれより小さい値が渡されると、ArgumentOutOfRangeException がスローされます。

keepAliveInterval
Int32

受信確認が受信されない場合に、連続する keep-alive パケットが送信されるときの間隔をミリ秒単位で指定します。

値は 0 よりも大きくする必要があります。 0 またはそれより小さい値が渡されると、ArgumentOutOfRangeException がスローされます。

例外

keepAliveTime パラメーターまたは keepAliveInterval パラメーターに指定された値が 0 以下です。

注釈

アプリケーションは、TCP/IP プロバイダーが TCP 接続でキープアライブ パケットの使用を有効にすることを要求できます。 既定では、TCP 接続でのキープアライブ パケットの使用は無効になっています。

TCP ソケットが初期化されたときの既定の設定では、キープアライブ タイムアウトが 2 時間、キープアライブ間隔が 1 秒に設定されます。 パラメーターは keepAliveTime 、最初のキープアライブ パケットが送信されるまで、アクティビティなしでタイムアウトをミリ秒単位で指定します。 パラメーターは keepAliveInterval 、受信確認が受信されない場合に連続するキープアライブ パケットが送信されるまでの間隔をミリ秒単位で指定します。 キープアライブ プローブの数は変更できず、10 に設定されています。

キープアライブの結果として TCP 接続が切断されると、 SocketErrorNetworkReset がソケットで進行中のすべての呼び出しに返され、後続の呼び出しは の NotConnectedSocketError失敗します。

適用対象

こちらもご覧ください