10

Piszę kod JAVA do przeglądania lokalizacji FTP za pomocą Apache Commons Net FTPClient i uzyskiwanie danych wyjściowych w pliku Excel. kod wykonać prawidłowo przez około 5 minut, ale potem daje IOException:Odpowiedź FTP: otrzymano 421. Serwer zamknięty połączenie

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

używam commons-net-3.0.1.jar. Zrobiłem kilka R & D i próbowałem:

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

i wysyłanie NOOP, ale wciąż otrzymuję ten sam błąd.

Wszystko, co próbuję zrobić, to przechodzić przez katalog i jeśli plik zostanie znaleziony, niż uzyskać nazwę pliku i datę aktualizacji pliku w programie Excel, jeśli zostanie znaleziony katalog, wejdź do środka i rób, aż plik zostanie odnaleziony ponownie.

Proszę pomóc i zapytać, czy są wymagane inne informacje. Jestem nowy w JAVA.

Odpowiedz

9

Zobacz tutaj: 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 

Może nie jesteś ponowne połączenie, ale przy użyciu nowego połączenia dla każdego żądania, zalewając serwer z połączeniami, dopóki nie natrafi limitu połączeń. Spróbuj zamknąć lub odrzucić połączenia.

+0

Miałeś rację. Byłem wyczerpujący połączenie, ale teraz ponownie wykorzystałem połączenie i zadziałało. Dziękuję również za udostępnienie linku. Poza tym jest to naprawdę pomocne. Dzięki – crazyproton

4

Na przyszłość ..

Jeśli roztwór przez @fiffy nie działa, może spróbuj włączyć TLS (FTPS/bezpieczne połączenie) Serwer został ustawiony tylko zaakceptować protokołu FTPS, więc było odrzucając moje nieszyfrowane połączenie, więc włączenie TLS (FTPS) pomogło mi rozwiązać problem.

Uwaga: - Ten błąd FTP response 421 received jest bardzo widoczny w Netbeans od czasu jego budowy w Javie.

+1

naprawdę utknąłem na tym przez chwilę, wybierając opcję bezpiecznego połączenia działa. Dzięki! –