问题描述
我正在尝试使用 SSHJ 从我的 Java 应用程序连接到 SFTP。 存在几种不同的超时,但我找不到它们之间的区别。即使是官方文档也不是很有帮助。 有人能解释一下两者的区别吗?
SSHClient.setTimeout()
SSHClient.setConnectTimeout()
SFTPEngine.setTimeoutMs()
提前致谢。
解决方法
-
SSHClient.setTimeout()
– 它被传播到Socket.setSoTimeout
– 参见 What is the functionality of setSoTimeout and how it works?
-
SSHClient.setConnectTimeout()
– 它被传播到Socket.connect
– 参见 How to set timeout on client socket connection? -
SFTPEngine.setTimeoutMs()
– 等待 SFTP 服务器响应的时间。基本上,它似乎相当于SSHClient.setTimeout()
,只是在 OSI 级别不同。