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

定義

TCP 接続のキープアライブ オプションを有効または無効にします。

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

パラメーター

enabled
Boolean

true に設定すると、指定した keepAliveTimekeepAliveInterval の値を使用して、TCP 接続の TCP キープアライブ オプションが有効になります。

false に設定すると、TCP キープアライブ オプションは無効になり、残りのパラメーターは無視されます。

既定値は false です。

keepAliveTime
Int32

最初のキープアライブ パケットが送信されるまで、タイムアウト (ミリ秒単位) をアクティビティなしで指定します。

値は 0 より大きい必要があります。 0 以下の値が渡されると、ArgumentOutOfRangeException がスローされます。

keepAliveInterval
Int32

受信確認が受信されない場合に連続するキープアライブ パケットが送信されるまでの間隔をミリ秒単位で指定します。

値は 0 より大きい必要があります。 0 以下の値が渡されると、ArgumentOutOfRangeException がスローされます。

例外

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

注釈

注意

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

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

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

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

適用対象