【发布时间】:2015-02-10 07:52:38
【问题描述】:
我正在使用 Jsch 库通过 SSH 在服务器上执行一些命令。我的应用程序应该保持连接到服务器,直到用户手动断开它。因此,我需要一些方法来检测由于网络问题(例如)导致的断开连接,以允许我的应用自动重新连接。
有#isConnected() 方法。我可以用它来执行我的检查吗?我的意思是,如果这个方法可以检测到网络问题导致的断开连接,或者它只是改变状态,在我调用方法#disconnect()之后?
[编辑] 似乎只有在此连接上发生某些操作时,JSch 中的连接状态才会更新。所以我不能以这种方式处理网络错误。我可以创建新线程来使用 Socket(例如)监视我的主机和端口,但我不喜欢这种解决方法。在背景中应用时会导致大量电池耗尽。这是不可接受的。
我还需要通知用户服务器关闭连接并让他重试。
【问题讨论】:
标签: java session jsch disconnect