Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Подключение к серверу ftp-клиента... (http://forum.oszone.net/showthread.php?t=241421)

aleator 27-08-2012 09:04 1977580

Подключение к серверу ftp-клиента...
 
Пишу простенький 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, и сервер не может открыть мой второй сокет для передачи данных.
Брендмауэр и файерволл отключены.

ChihPih 27-08-2012 10:10 1977607

А в RFC че написно?

lxa85 27-08-2012 10:35 1977618

Попробуйте посмотреть в Документации.
Кроме Wiki они предлагают загрузить целый пакет примеров. Я думаю что ftp клиент там тоже реализован.
Так же присоединюсь к ChihPih, и посоветую прочесть RFC по данному протоколу, как первоисточник.

ChihPih 27-08-2012 12:03 1977687

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

pva 28-08-2012 21:32 1978778

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


Время: 22:41.

Время: 22:41.
© OSzone.net 2001-