我的方法必须尝试连接到其他数据库服务器。当我在Linux服务器上运行我的应用程序时 - 一切都好。当我在Windows操作系统上运行时 - 我有java.net.SocketTimeoutException: Read timed out
private boolean pingServer(String host) {
String username = "username";
String password = "password";
boolean successful;
AS400 as400 = new AS400(host, username, password);
SocketProperties socketProperties = as400.getSocketProperties();
socketProperties.setLoginTimeout(TIMEOUT_MILLISEC);
socketProperties.setSoTimeout(TIMEOUT_MILLISEC);
as400.setSocketProperties(socketProperties);
try{
successful = as400.validateSignon();
} catch (AS400SecurityException e) {
successful = true;
} catch (IOException e) {
successful = false;
} catch (TransactionException e) {
successful = false;
}
as400.disconnectAllServices();
as400 = null;
return successful;
}
有人可以给我一些建议吗? 感谢。
答案 0 :(得分:2)
AS / 400连接使用大量必须可用的网络端口。
尝试禁用您和服务器之间的所有防火墙,然后重试。这包括Windows系统上的软件防火墙(可能是防病毒套件的一部分)