C/C++ - Подключение к серверу ftp-клиента...

Ответить
Аватара пользователя
aleator

C/C++ - Подключение к серверу ftp-клиента...

Сообщение aleator »

Пишу простенький ftp-клиент в C++Builder c использованием компонента ClientSocket. Тестирую в Filezilla Server.

Первым сокетом (командным) подключаюсь коректно (команды PASS, USER).

Далее, пытаюсь открыть соединение для передачи данных в пассивном режиме.

Для этого с командного сокета посылаю команду "PASV" и получаю номер порта: 227 Entering Passive Mode (127,0,0,1,4,22),

создаю сокет для данных (PORT= 1046 (4*256+22))

Что делать дальше - представляю смутно. Я так понимаю, его надо приготовить к приёму данных? Form1->ClientSocket2->Socket->Listen(...

Но если я прав, какие аргументы в этой функции? Если это данные сервера, то где их взять?

Далее с первого сокета посылаю команду LIST, и сервер не может открыть мой второй сокет для передачи данных.

Брендмауэр и файерволл отключены.
Аватара пользователя
lxa85

Re: C/C++ - Подключение к серверу ftp-клиента...

Сообщение lxa85 »

Попробуйте посмотреть в
Документации
.

Кроме Wiki они предлагают загрузить целый пакет примеров. Я думаю что ftp клиент там тоже реализован.

Так же присоединюсь к ChihPih, и посоветую прочесть RFC по данному протоколу, как первоисточник.
Аватара пользователя
ChihPih

Re: C/C++ - Подключение к серверу ftp-клиента...

Сообщение ChihPih »

Можно еще взять любой открытый клиент фтп (от FreeBSD например) и посмотреть как там сделано. Но RFC в любом случае читать.
Аватара пользователя
ChihPih

Re: C/C++ - Подключение к серверу ftp-клиента...

Сообщение ChihPih »

дальше надо подать команду, что с открытым сокетом делать - читать или писать, какой файл (команда в командный сокет, данные польются в только что открытый).
Ответить

Вернуться в «Программирование и базы данных»