我正在使用 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)我还想设置连接超时,如果在该时间间隔内没有建立连接则必须给出异常。
如何检查主机是否可用?并设置连接超时?
最佳答案
连接前进行测试没有多大意义,因为测试后端口可能会立即变得不可用。尝试使用 session.setTimeout() 以毫秒为单位设置超时。
关于java - 如何检查指定端口是否可以通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042055/