FTP-клиент в Java не работает должным образом при отправке команд - PullRequest
0 голосов
/ 14 ноября 2011

Я делаю простой FTP-клиент на Java, используя стандартные сокеты Java.Мне удалось подключиться к серверу.Затем я могу отправлять команды FTP, например:

USER myUserName
PASS myPassword

, и в выводе говорится, что я вошел на сервер (я всегда отправляю строку \ r \ n с каждой командой, отправляемой на сервер).Когда я посылаю команду «ls», я получаю такой ответ: 425 No data connection

Когда я вхожу на сервер со стандартного FTP-клиента из терминала MS Windows, я могу использовать команду «ls» и получитьсписок всех файлов и папок, но он не работает в моем приложении Java.

Команда FTP «HELP» также дает различный вывод в моем клиенте и в стандартном FTP-клиенте в MS Windows.

Что я делаю не так?

1 Ответ

4 голосов
/ 14 ноября 2011

вам нужно использовать PORT или PASV для установления соединения для передачи данных.Список файлов не приходит через контрольное соединение.Вам придется читать по FTP.Команды команды ftp в windows не соответствуют 1: 1 командам в протоколе, которые вы должны использовать при самостоятельной реализации.

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