我使用Java安全通道连接网络中的主机。 我使用以下代码:
int port = 22;JSch jsch = new JSch();
try {
session=jsch.getSession(username,hostname,port);
}
catch (JSch Exception e1){
e1.printStackTrace();
}
session.setPassword("mypassword");
try {
session.connect();
}catch (JSchException e1){
System.out.println("Did not connect");
return;
}
通过使用此代码,我可以连接到主机。 但是如果主机不可用/离线,那么我必须等待JSchException。
1)我想首先检查主机是否可用于通信,如果可用,则只尝试连接。
2)另外我想为连接设置超时,如果在该时间间隔内没有建立连接则必须给出异常。
如何检查主机是否可用?并设置连接超时?
答案 0 :(得分:1)
连接之前的测试没有什么大意义,因为端口在测试后可能变得不可用。尝试使用session.setTimeout()以毫秒为单位设置超时。
答案 1 :(得分:0)
如何检查指定端口是否可用于通信?
如何检查指定的 X 是否可用于 Y:
尝试使用 Y。这是一项绝对可靠的测试。任何其他技术都有时间窗问题。