web-dev-qa-db-fra.com

Réponse FTP 421 reçue. Connexion fermée au serveur

J'écris un code Java pour parcourir l'emplacement FTP à l'aide d'Apache Commons Net FTPClient et obtenir la sortie dans un fichier Excel. Le code s'exécute correctement pendant environ 5 minutes mais donne ensuite une IOException:

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

J'utilise commons-net-3.0.1.jar. J'ai fait de la R&D et essayé:

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

et en envoyant NOOP, mais en obtenant toujours la même erreur.

Tout ce que j'essaie de faire est de parcourir un répertoire et si un fichier est trouvé, obtenir le nom de fichier et la date de mise à jour du fichier dans Excel sinon si le répertoire est trouvé, entrez et faites jusqu'à ce que le fichier soit à nouveau trouvé.

Veuillez nous aider et demander si d'autres informations sont nécessaires. Je suis nouveau à Java.

13
crazyproton

Voir ici: http://kb.globalscape.com/KnowledgebaseArticle10142.aspx

 Erreur 421 Service non disponible, fermeture de la connexion de contrôle. 
 Erreur 421 Limite utilisateur atteinte 
 Erreur 421 Vous n'êtes pas autorisé à établir la connexion 
 Erreur 421 Nombre maximal de connexions atteint 
 Erreur 421 Nombre maximal de connexions dépassé 

Peut-être que vous ne réutilisez pas une connexion mais utilisez une nouvelle connexion pour chaque demande, inondant le serveur de connexions jusqu'à ce qu'il atteigne la limite de connexion. Essayez de fermer vos connexions ou de les ressusciter.

17
fiffy

Pour référence future..

Si la solution de @fiffy ne fonctionnait pas, essayez peut-être d'activer le TLS (FTPS/Secure Connection), mon serveur était configuré pour n'accepter que le protocole FTPS, donc il rejetait ma connexion non cryptée, donc allumez le TLS (FTPS) m'a aidé à résoudre le problème.

Remarque: - Cette erreur FTP response 421 received est très important dans Netbeans car il est également construit en Java.

4
Mohd Abdul Mujib