Получен ответ FTP 421. Закрытое соединение с сервером

Я пишу JAVA-код для прохождения FTP-местоположения с помощью Apache Commons Net FTPClient и получения вывода в файле Excel. код выполняется правильно в течение приблизительно 5 минут, но затем дает IOException:

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

Я использую commons-net-3.0.1.сосуд. Я сделал некоторые R&D и попробовал:

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

и рассылка NOOP, но все еще получаю ту же ошибку.

все, что я пытаюсь сделать, это пройти через каталог, и если файл найден, чем получить имя файла и дата обновления файла в excel еще если каталог найден, то попасть внутрь и делать, пока файл не будет найден снова.

пожалуйста, помогите и спросите, требуется ли какая-либо другая информация. Я новичок в JAVA.

2 ответов


см. здесь: 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 

возможно, вы не повторно используете соединение, а используете новое соединение для каждого запроса, заполняя сервер соединениями, пока он не достигнет предела соединения. Попробуйте закрыть соединения или resuing их.


для дальнейшего использования..

Если решение @fiffy не сработало, возможно, попробуйте включить TLS (FTPS/Secure Connection), мой сервер был настроен только на принятие протокола FTPS, поэтому он отклонял мое незашифрованное соединение, поэтому включение TLS (FTPS) помогло мне решить проблему.

Примечание: - эта ошибка FTP response 421 received очень заметен в в NetBeans так как он также построен на java.