3

我的方法必须尝试连接到其他数据库服务器。当我在 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;
}

有人可以给我一些建议吗?谢谢。

4

1 回答 1

2

AS/400 连接使用许多您必须可用的网络端口。

尝试禁用您和服务器之间的所有防火墙,然后重试。这包括 Windows 系统上的软件防火墙(可能是防病毒套件的一部分)

于 2014-12-03T14:24:36.557 回答