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,表示會使用所指定 keepAliveTimekeepAliveInterval 值來啟用 TCP 連線的 TCP 持續連線選項。

如果設定為 false,則表示會停用 TCP 保持連接選項,並忽略其餘的參數。

預設值為 false。

keepAliveTime
Int32

指定第一個 Keep-Alive 封包傳送之前的無活動逾時 (以毫秒為單位)。

這個值必須大於 0。 如果傳遞的值小於或等於零,則擲回 ArgumentOutOfRangeException

keepAliveInterval
Int32

指定若未接收認可,後續 Keep-Alive 封包傳送的間隔 (以毫秒為單位)。

這個值必須大於 0。 如果傳遞的值小於或等於零,則擲回 ArgumentOutOfRangeException

例外狀況

keepAliveTimekeepAliveInterval 參數的指定值會小於或等於 0。

備註

應用程式可以要求 TCP/IP 提供者在 TCP 連線上使用 keep-alive 封包。 預設值是停用 TCP 連線上使用keep-alive 封包。

初始化 TCP 套接字時的預設設定會將 keep-alive 逾時設定為 2 小時,並將 keep-alive 間隔設定為 1 秒。 參數 keepAliveTime 會指定逾時,以毫秒為單位,直到傳送第一個保持運作封包為止,沒有活動。 如果未收到通知,參數 keepAliveInterval 會指定連續保持運作封包傳送的間隔,以毫秒為單位。 無法變更保持運作探查的數目,且設定為 10。

如果 TCP 連線因保持連線而中斷,SocketError則會將 傳回 至套接字上任何進行中的呼叫,而後續的任何呼叫都會失敗,且任何後續呼叫都會失敗SocketErrorNotConnectedNetworkReset

適用於