java中JSch库中Session和Channel的默认超时时间是多少

Ado*_*ith 4 java connection jsch

有谁知道会话和频道的默认超时时间。

session.connect();
channel.connect();
Run Code Online (Sandbox Code Playgroud)

我正在浏览文档,但它没有明确说明默认超时时间是多少?

Mar*_*ryl 7

对于Channel,默认超时似乎是 20 秒。

请参阅Channel.sendChannelOpen().

这里的超时定义了connect()等待响应打开通道请求的时间。我会说该方法的名称令人困惑,应该是open(). 您没有在任何地方连接(会话已经打开)。


对于Session,使用setTimeout()方法设置默认超时。如果没有设置,默认默认为0,即“无限”的意思。尽管在操作系统级别总是有一些不得已的超时。

这里的超时定义:

  • connect()等待套接字打开需要多长时间。
    尽管这仅定义了上限,但要定义下限,请参阅JSch session timeout limit
  • 所有未来从套接字“读取”的超时。见Socket.SetSoTimeout
  • 如果有的话,它也会影响到代理的连接。