我正在开发一个使用 SSHJ 进行 SFTP 传输的库。由于请求很频繁,我想知道是否可以保持连接打开。
显然,如果服务器经常超时连接,这将一事无成。由于我无法控制服务器,因此我必须保持连接处于活动状态:使用常规 SSH 客户端,我可以指定 aServerAliveInterval
并让客户端为我执行此操作。
我想对 SSHJ 做同样的事情,但我不知道要发送什么消息。
SSH手册只是指出ServerAliveInterval
以秒为单位设置超时间隔,如果在此之后没有从服务器接收到数据,ssh(1) 将通过加密通道发送消息以请求服务器响应。
所以我想知道:发送了什么消息?如何通过 SSHJ 重现此消息?