我正在開發一個使用SSHJ進行SFTP傳輸的庫。 由於請求頻繁,我想知道是否可以保持連接打開。如何使用SSHJ保持SSH連接的活躍?
顯然,如果服務器頻繁超時連接,這將無法實現。 因爲我無法控制服務器,所以必須保持連接處於活動狀態: 使用常規的SSH客戶端,我可以指定一個ServerAliveInterval
並讓客戶端爲我執行此操作。
我想對SSHJ做同樣的事情,但我不知道要發送什麼消息。
的SSH manual只是指出ServerAliveInterval
在幾秒鐘之後,如果沒有數據被從所述服務器接收到的,SSH(1)將發送信息通過加密信道以請求響應設置超時間隔從服務器。
所以我想知道: 什麼消息發送?我怎麼能通過SSHJ重現這個消息?
萬一鏈接斷裂或變化,行是client.getTransport()。setHeartbeatInterval(30); – Scott 2013-04-12 20:05:35
它確實已經壞了。 – 2015-06-17 01:17:58
當前版本爲0.23.0,應該是'sshClient.getConnection.getKeepAlive.setKeepAliveInterval(15)'。 – LoranceChen 2018-02-26 08:34:23