Какой порт должен быть указан в FTP

#android #ftp #numbers #port

#Android #ftp #числа #портвейн

Вопрос:

Я конвертирую программу из Basic4PPC в Basic4Android.

Эта программа использует FTP для чтения небольшого файла с сервера. Оригинальная программа работает очень хорошо. Теперь с Basic4Android чтение файла приводит к успеху = false. Подключение FTPConnection закрыто без указания. Я должен указать номер порта. Пример кода показывает 21. Является ли этот порт единственным, который должен работать? Как найти правильный номер порта?

Гарри

Ответ №1:

Протокол FTP определен в RFC 959 и определяет порт 21 для соединений, при этом порт 20 используется для передачи данных по мере необходимости. Хотя вам не обязательно использовать порт 21 для установления FTP-соединения, вы должны сделать это, если у вас нет очень веских причин отклоняться от стандарта.

Комментарии:

1. Спасибо за ответ. Однако проблема все еще существует. В журнале указано: org.apache.commons.net.ftp.FTPConnectionClosedException: Соединение закрыто без указания.

2. Ну, вопрос был о назначении порта FTP, а не об ошибке, которую вы видите. Учитывая, что Apache сообщает, что соединение было закрыто, подразумевается, что соединение было — так что речь идет не о номерах портов, а о том, как вы устанавливаете соединение, или, точнее, как вы его закрываете. Быстрый поиск в Google выдал мне несколько обращений к этой ошибке и возможные решения (в зависимости от типа устанавливаемого вами соединения).

3. Извините, я ожидал, что проблема вызвана номером порта. Тем временем я нашел решение: для используемого мной FTP-сервера PassiveMode должно быть установлено значение True