-
Виталий (04.11.13 20:53) [0]Доброго всем времени суток. Объясните мне пожалуйста стратегию взаимодействия с сервером FTP на уровне сокетов.
Я связываюсь с сервером, авторизируюсь посредством посыла USER и PASS. Получаю порт данных командой PASV.
А дальше? Допустим я хочу получить файл.
Я должен установить прослушку на этот порт, а саму RETR послать через изначальное соединение?
Или я в порт данных посылаю RETR и из этого же порта принимаю тело файла?
Как правильно действовать? Есть ли статьи где более менее описана работа FTP желательно на русском на уровне сокетов? -
> Есть ли статьи где более менее описана работа FTP
ну в RFC все вобщем то написано http://www.ietf.org/rfc/rfc959.txt
Только не на русском.
> А дальше? Допустим я хочу получить файл.
> Я должен установить прослушку на этот порт
ты же в пассивном режиме, ты не открываешь никаких портов на прослушивание, ты шлешь команды серверу.
FTP использует 2 соединения, одно для команд, другое для данных. Ты должен установить соединение для данных с сервером по указанному порту. -
Виталий (04.11.13 21:28) [2]С аглицким беда. Ну да ладно.
Принцип в данном случае ясен.
Второй вопрос: После передачи в порт данных (или после получения) обязательно закрывать канал данных?
Если я получаю от сервера данные предположим я знаю когда они закончат поступать, а если передавать данные? Как правильно сказать серверу что я закончил? Закрыть сокет?
Если да то получается для каждого сеанса связи для приема\передачи данных мне нужно открывать-принимать\передавать-закрывать сокет данных? -
> Второй вопрос: После передачи в порт данных (или после получения)
> обязательно закрывать канал данных?
да
> Если я получаю от сервера данные предположим я знаю когда
> они закончат поступать, а если передавать данные? Как правильно
> сказать серверу что я закончил? Закрыть сокет?
да
> Если да то получается для каждого сеанса связи для приема\передачи
> данных мне нужно открывать-принимать\передавать-закрывать
> сокет данных?
да -
Виталий (04.11.13 22:16) [4]Такс. Ну кажется пока что все понятно. Вроде бы даже и получается кое-что.
Спасибо за разъяснения.