收到FTP响应421。服务器关闭连接

时间:2014-07-17 09:19:20

标签: java ftp ftp-client connection-timeout socket-timeout-exception

我正在编写一个JAVA代码,使用Apache Commons Net FTPClient遍历FTP位置并在Excel文件中获取输出。代码正确执行大约5分钟,但然后给出IOException:

org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received.  Server closed connection.

我正在使用commons-net-3.0.1.jar。我做了一些R& D并尝试过:

setDefaultTimeout(6000); 
setConnectTimeout(3000);
setSoTimeout(3000);
enterLocalPassiveMode();

并发送NOOP,但仍然收到同样的错误。

我想要做的就是遍历目录,如果找到文件而不是获取文件名和文件更新日期在excel中,如果找到目录,那么进入内部直到找到文件再次找到文件。

请帮助并询问是否需要任何其他信息。我是JAVA的新手。

2 个答案:

答案 0 :(得分:14)

见这里: http://kb.globalscape.com/KnowledgebaseArticle10142.aspx

    Error 421 Service not available, closing control connection. 
    Error 421 User limit reached 
    Error 421 You are not authorized to make the connection 
    Error 421 Max connections reached 
    Error 421 Max connections exceeded 

也许您没有重复使用连接,而是为每个请求使用新连接,使服务器充满连接,直到达到连接限制。 尝试关闭您的连接或重新连接它们。

答案 1 :(得分:4)

供将来参考..

如果@fiffy的解决方案不起作用,可能尝试打开TLS(FTPS /安全连接),我的服务器设置为只接受FTPS协议,所以它拒绝我的未加密连接,所以打开TLS(FTPS)帮助我解决了问题。

注意: - 此错误FTP response 421 received Netbeans 中非常突出,因为它也是用java构建的。