ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
啟用或停用 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 持續連線選項。
如果設定為 false,則表示會停用 TCP 保持連接選項,並忽略其餘的參數。
預設值為 false。
- keepAliveTime
- Int32
指定第一個 Keep-Alive 封包傳送之前的無活動逾時 (以毫秒為單位)。
這個值必須大於 0。 如果傳遞的值小於或等於零,則擲回 ArgumentOutOfRangeException。
- keepAliveInterval
- Int32
指定若未接收認可,後續 Keep-Alive 封包傳送的間隔 (以毫秒為單位)。
這個值必須大於 0。 如果傳遞的值小於或等於零,則擲回 ArgumentOutOfRangeException。
例外狀況
keepAliveTime
或 keepAliveInterval
參數的指定值會小於或等於 0。
備註
應用程式可以要求 TCP/IP 提供者在 TCP 連線上使用 keep-alive 封包。 預設值是停用 TCP 連線上使用keep-alive 封包。
初始化 TCP 套接字時的預設設定會將 keep-alive 逾時設定為 2 小時,並將 keep-alive 間隔設定為 1 秒。 參數 keepAliveTime
會指定逾時,以毫秒為單位,直到傳送第一個保持運作封包為止,沒有活動。 如果未收到通知,參數 keepAliveInterval
會指定連續保持運作封包傳送的間隔,以毫秒為單位。 無法變更保持運作探查的數目,且設定為 10。
如果 TCP 連線因保持連線而中斷,SocketError則會將 傳回 至套接字上任何進行中的呼叫,而後續的任何呼叫都會失敗,且任何後續呼叫都會失敗SocketErrorNotConnected。NetworkReset
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應