1

如何从客户端检测到 jsch 会话已被服务器断开连接?

4

3 回答 3

1

您的意思不是会话对象上的 isConnected() 函数吗?

于 2011-02-06T00:28:45.190 回答
1

如果您使用 setPortForwardingL() 设置端口转发,您可以使用这样的函数来验证隧道(和连接)是否仍然存在。(示例隧道回声服务)。

public boolean performCheck() throws Exception {
    Socket socket;

    try {
        socket = new Socket("localhost", 7);

        if (socket.isConnected()) {
            socket.close();
            return true;
        }
    } catch (UnknownHostException e) {
        // nothing special
    } catch (IOException e) {
        // nothing special
    }

    return false;
}
于 2012-08-23T07:09:54.283 回答
1
Session.isConnected() 

为我工作,但必须确保你打电话

Session.setServerAliveInterval(int) 

Session.connect()
于 2016-04-07T20:15:07.313 回答