检测jsch断线

发布于 2024-09-24 20:08:02 字数 32 浏览 4 评论 0原文

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

How can I detect from the client that jsch session has been disconnected by the server?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自由如风 2024-10-01 20:08:02

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

You mean other than the isConnected() function on the session object?

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

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;
}

If you setup a portforwarding with setPortForwardingL() you can use a function like this to verfiy if the tunnel (and the connection) is still alive. (The example tunnels the Echo Service).

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;
}
十年九夏 2024-10-01 20:08:02
Session.isConnected() 

为我工作,但必须确保您

Session.setServerAliveInterval(int) 

先打电话

Session.connect()
Session.isConnected() 

works for me but must be sure you call

Session.setServerAliveInterval(int) 

before

Session.connect()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文