Передача файла по ftp - протоколу
От: Ded_Pixto Россия  
Дата: 06.12.05 16:24
Оценка:
Устанавливаю соединение с ftp — сервером через прокси — сервер. Скачиваю файлы и получаю список файлов в директории с ftp — сервера без проблем.
Когда устанавливаю соединение с ftp — серв. напрямую, то при запросе файла получаю ответ с ftp — сервера: "350 Restarting at 0". Но сами данные не приходят. Ожидаю данные в течение трех минут. Причем, при запросе "LIST some_dir\r\n", я получаю данные без проблем.
Соединение устанавливаю с помощью CSocket в синхронном режиме.
В чем может быть проблема?
Re: Передача файла по ftp - протоколу
От: butcher Россия http://bu7cher.blogspot.com
Дата: 07.12.05 05:31
Оценка:
Здравствуйте, Ded_Pixto, Вы писали:

D_P>Соединение устанавливаю с помощью CSocket в синхронном режиме.

D_P>В чем может быть проблема?

Возможно вы используете активный режим передачи. Попробуйте пассивный (как в случае с proxy).

Нет ничего невозможного..
Re[2]: Передача файла по ftp - протоколу
От: Ded_Pixto Россия  
Дата: 07.12.05 09:50
Оценка:
Здравствуйте, butcher, Вы писали:

B>Возможно вы используете активный режим передачи. Попробуйте пассивный (как в случае с proxy).


В том то и дело, что я использую один и тот же алгоритм скачивания. Может ли быть проблема в том, что я делаю запрос на файл следующим образом:

"REST 0\r\nRETR some_folder/some_file\r\n"
т.е. я отправляю два запроса сразу, в случае с прокси это работает, а случае с прямым соединением я получаю только ответ на первую команду
REST (150 Restarting at 0\r\n)
а ответа на вторую нет.
Если я отправляю сначала REST 0, затем читаю ответ, то ответ выглядит следующим образом 150 Restarting at 'какое — то огромное число'. По протоколу ответ 150 значит ошибка. (это при подключении через модем)
При прямом подключении по выделенной линии на первую команду получаю ответ 350, далее команду "RETR some_folder/some_file\r\n". Ответ 500.

Должен ли я для того, чтобы скачать файл, сделать рабочим тот каталог, в котором он лежит или достаточно указать к нему путь?
Re[2]: Передача файла по ftp - протоколу
От: Ded_Pixto Россия  
Дата: 07.12.05 14:24
Оценка: :)
Здравствуйте, butcher, Вы писали:

B>Возможно вы используете активный режим передачи. Попробуйте пассивный (как в случае с proxy).


В общем нашел я ошибку. Как оказалось ошибка была не в нарушении ftp — протокола или режиме передачи файла, а в простой моей невнимательности... Присоединялся не к пассивному хосту и порту, а к активному)))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.