web-dev-qa-db-ja.com

FTPレスポンス421を受信しました。サーバーが接続を閉じました

Java Apache 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を使用しています。私はいくつかの研究開発を行ってみました:

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

NOOPを送信しますが、それでも同じエラーが発生します。

私がやろうとしているのは、ディレクトリを走査し、Excelでファイル名とファイル更新日を取得するよりもファイルが見つかった場合、またはディレクトリが見つかった場合は、ファイルが再び見つかるまで内部に入り、行うことです。

他の情報が必要かどうか助けてください。私はJavaが初めてです。

12
crazyproton

こちらをご覧ください: http://kb.globalscape.com/KnowledgebaseArticle10142.aspx

エラー421サービスを利用できません。制御接続を閉じます。 
エラー421ユーザー制限に達しました
エラー421接続を確立する権限がありません
エラー421最大接続数に達しました
エラー421最大接続数を超えました

接続を再利用するのではなく、リクエストごとに新しい接続を使用して、接続制限に達するまでサーバーを接続であふれさせることもあります。接続を閉じるか、再試行してください。

15
fiffy

今後の参考のために..

@fiffyによる解決策が機能しなかった場合、TLS(FTPS/Secure Connection)をオンにしてみてください。私のサーバーはFTPSプロトコルのみを受け入れるように設定されていたため、暗号化されていない接続を拒否し、TLS(FTPS)をオンにしました問題を解決するのに役立ちました。

注:-このエラーFTP response 421 receivedは、Javaでも構築されているため、Netbeansで非常に顕著です。

4