2011-09-23 43 views
2

我们在AIX上使用commons-net-1.4.1.jar和java5_64。我在FTP服务器上列出文件时遇到以下例外情况。作为工艺到处跑,每天60次,我得到的错误2〜3次,其余时间运行良好FTP SocketTimeoutException即使使用被动模式

java.net.SocketTimeoutException: Accept timed out 
     at java.net.PlainSocketImpl.socketAccept(Native Method) 
     at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:427) 
     at java.net.ServerSocket.implAccept(ServerSocket.java:466) 
     at java.net.ServerSocket.accept(ServerSocket.java:434) 
     at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:502) 
     at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2488) 

此错误是间歇性的。

我在互联网上找到了一种可能的解决方案,将连接模式从主动模式改为被动模式,但是这也没有帮助。

你能否帮助我,我不知道可能是什么原因。

回答

0

您尝试列出文件的远程服务器根本没有响应...(这是一个相当常见的情况)。或者他们的互联网连接在此刻关闭,或者您自己的互联网连接断开,或者服务器已饱和并拒绝连接,或者可能出现任何情况。

(你正确每个进程成功时关闭到服务器的连接?服务器可以被拒绝,因为它认为你已经连接的连接)

+0

谢谢您的回答。是的,服务器连接每次都正常关闭。有两个进程运行相同的代码。对于被动模式,只有一个用于间歇性地提供上述问题,其他运行良好。我停止了另一个流程,发现我们现在能够通过这一步。不过后来在代码中,当我们试图列出文件名时,我们再次被吊死。 我们没有明确指定解析器。没有明确的解析器,它在早期工作得很好,而且在其他进程中工作正常。 – sumit

+0

我正在接到异常。 java.net.SocketTimeoutException:接受超时 at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:427) at java.net.ServerSocket.implAccept(ServerSocket .java:466) at java.net.ServerSocket.accept(ServerSocket.java:434) at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:502) at org.apache.commons .net.ftp.FTPClient.listNames(FTPClient.java:1959) at org.apache.commons.net.ftp.FTPClient.listNames(FTPClient.java:2006) – sumit

相关问题