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

定義

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

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 に設定すると、指定された 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 接続が切断されると、SocketErrorソケットで進行中のNetworkReset呼び出しに a of が返され、それ以降のNotConnected呼び出しは a SocketError で失敗します。

適用対象