2

我正在尝试使用org.apache.commons.net.ftp.FTPClient连接到服务器并下载一些文件。当我在我的 Windows 7 机器上运行代码时,它会始终连接并下载文件。当我在 AIX 机器上运行它时,它在 80% 的情况下都失败了,抛出一个java.net.ConnectException, 并显示"A remote host denied an attempt connect operation"消息。如果我经常重试,它最终会连接。如果我登录到FTPClient代码无法始终连接的 AIX 框,并从命令行使用 ftp 连接到代码无法连接到的同一台服务器,它会始终连接并且我可以下载文件。一旦FTPClient连接我没有任何问题。这只是导致我出现问题的连接。任何想法都是为什么FTPClient在 AIX 上会有问题吗?再说一次,并不是它从不连接,只是它的连接方式不一致。下面是我用来连接的代码。

FTPClient ftp = new FTPClient();

try{
    ftp.connect(server);
    reply = ftp.getReplyCode();
}catch(Exception e){
    log.error("FTPClient failed to connect: " + e.getClass().getName() + " " + e.getMessage());
    throw e;
}

下面是异常的堆栈跟踪。

java.net.ConnectException: A remote host refused an attempted connect operation.
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:370)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:232)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:219)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:528)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:168)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:189)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:278)
at com.nbi.plex.Builder.downLoad(Builder.java:198)
4

0 回答 0