FTP SocketTimeoutException даже при использовании пассивного режима - PullRequest
2 голосов
/ 23 сентября 2011

Мы используем commons-net-1.4.1.jar и java5_64 в AIX.Я получаю следующее исключение при перечислении файлов на FTP-сервере.

java.net.SocketTimeoutException: Accept timed out
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:427)
        at java.net.ServerSocket.implAccept(ServerSocket.java:466)
        at java.net.ServerSocket.accept(ServerSocket.java:434)
        at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:502)
        at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2488)

Эта ошибка периодически, так как процесс выполняется около 60 раз в день, и я получаю ошибку 2или 3 раза, в остальное время он работает нормально.

Я нашел в интернете возможное решение о смене режима соединения с активного на пассивный, однако это тоже не помогает.

Не могли бы вы помочь мне, я не знаю, в чем может быть причина.

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

Если в соединении все правильно, то есть Passive и ASCII для каждого сервера, и все же вы получаете тайм-аут сокета, увеличьте время соединения в ftpClient.setTimeout (220);

0 голосов
/ 23 сентября 2011

удаленный сервер, с которого вы пытаетесь составить список файлов, просто не отвечает ... (что является довольно распространенным случаем). либо их интернет-соединение в данный момент не работает, либо ваше собственное интернет-соединение не работает, либо сервер переполнен и отказывается от соединений, или что-то в этом случае может быть.

(правильно ли вы закрываете соединение с сервером при каждом успешном завершении процесса? Возможно, сервер отказывается от соединения, поскольку считает, что вы уже подключены)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...