![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FTP-сервер не открывает сокет [XP]
Владимир777 © (2012-08-19 18:41:00)1. Пишу простенький ftp-клиент c использованием компонента ClientSocket.
2. Тестирую в Filezilla Server, на локалке.
3. Последовательность действий:
открываю сокет для команд (порт -21).
отправляю логин, пароль. Получаю положительные ответы.
отправляю команду PORT (порт 20) для активного подключения.
получаю ответ: 200 Port command successful
отправляю команду LIST и в окне сервера получаю:
"150 Opening data channel for directory list.
425 Can't open data connection."
Знаю тема частая, но общего и внятного решения я так и не нашёл
Владимир777 (2012-08-20 22:41:00) [21]Последовательность действий:
открываю сокет для команд (порт -1025).
отправляю логин, пароль. Получаю положительные ответы.
отправляю команду PASV для пассивного подключения.
получаю ответ: 227 Entering Passive Mode (127,0,0,1,4,22)
открываю сокет для данных (порт 1026)
отправляю команду LIST
в окне Filezilla Server на короткое время в колонке transfer напротив
моего подключения (на командном сокете) появляется рисунок папки
после её исчезновения в окне сервера получаю:
"425 Can't open data connection."
brother (2012-08-20 21:22:00) [22]думаю автор с [10] уже ознакомился?
Dennis I. Komarov (2012-08-20 21:08:00) [23]
> ты уж определись наконец какой режим тебе нужен) ..
хорошо бы еще знать, чем они отличаются...
Сергей М. (2012-08-20 11:42:00) [24]Заметался, бедняга)
То
> отправляю команду PORT (порт 20) для активногоподключения
то
> отправляю команду PASV (порт 20) для пассивногоподключения
ты уж определись наконец какойрежим тебе нужен) ..
brother (2012-08-20 07:26:00) [25][20] баян!
Владимир777 (2012-08-20 06:38:00) [26]Palladin, а можно по-понятней?
Palladin (2012-08-19 23:34:00) [27]ОНО: народ, я новый нюк нашел, ща всех поубиваю!!!
ОНО: дайте ай-пи какого-нить лоха!!!
Кто-то: 127.0.0.1
ОНО: пасиба!
ОНО: щас он подохнет
* ОНО вышло из чата
Владимир777 (2012-08-19 23:00:00) [28]"используются клиентом для открытия потока данных с произвольного клиентского порта к полученному адресу и порту." - а как это сделать?
получаю ответ: 227 Entering Passive Mode (127,0,0,1,4,22)
значит, полученный адрес - 127,0,0,1, порт - 1046 (4*256+22)
Теперь надо открыть сокет данных?
Dennis I. Komarov (2012-08-19 21:33:00) [29]
> Моё незнание теории - дело другое.
Хочешь писать протоколы вручную - учи спецификации...
Медвежонок Пятачок (2012-08-19 20:53:00) [30]..... может быть использован пассивный режим. В этом режиме клиент использует поток управления, чтобы послать серверу команду PASV, и затем получаетот сервераего IP-адрес и номер порта, которые затем используются клиентом для открытия потока данныхс произвольного клиентского порта к полученному адресу и порту.
http://ru.wikipedia.org/wiki/FTP
Владимир777 (2012-08-19 20:52:00) [31]Извините, описка: отправляю команду PASV для пассивного подключения.
Медвежонок Пятачок, не обязательно демонстрировать свой идиотизм на форуме. Моё незнание теории - дело другое.
Медвежонок Пятачок (2012-08-19 20:46:00) [32]отправляю команду PASV (порт 20) для пассивного подключения.
открываю сокет для данных (порт 1046 (4*256+22))
....дятел оборудован клювом.
Владимир777 (2012-08-19 20:38:00) [33]Переписал:
Последовательность действий:
открываю сокет для команд (порт -1025).
отправляю логин, пароль. Получаю положительные ответы.
отправляю команду PASV (порт 20) для пассивного подключения.
получаю ответ: 227 Entering Passive Mode (127,0,0,1,4,22)
открываю сокет для данных (порт 1046 (4*256+22))
отправляю команду LIST
в окне Filezilla Server на короткое время в колонке transfer напротив
моего подключения (на командном сокете) появляется рисунок папки
после её исчезновения в окне сервера получаю:
"425 Can't open data connection."
Inovet (2012-08-19 20:35:00) [34]> [12] Владимир777 (19.08.12 20:32)
> Dennis I. Komarov, что это такое?
http://www.google.ru/#hl=ru&gs_nf=1&cp=13&gs_id=b&xhr=t&q=RFC+959%2C+2577&pf=p&newwindow=1&output=search&sclient=psy-ab&oq=RFC+959,+2577&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=560735a0f168c942&biw=1153&bih=81 4
Владимир777 (2012-08-19 20:32:00) [35]Dennis I. Komarov, что это такое?
Dennis I. Komarov (2012-08-19 20:23:00) [36]RFC 959, 2577
Сергей М. (2012-08-19 19:37:00) [37]
> Владимир777 (19.08.12 19:34) [8]
Ну тогда открой для себя америку:
http://asweb.ru/notes/miscellaneous/ftpmodes/
Медвежонок Пятачок (2012-08-19 19:35:00) [38]ну значит нехрен и браться
Владимир777 (2012-08-19 19:34:00) [39]Сергей М. я не читал о том, что для подключения в активном режиме ftp-клиенту нужен компонент ServerSocket. А не читал, потому что нигде не встречал такой информации.
Медвежонок Пятачок (2012-08-19 19:34:00) [40]чтобы сервер открыл дата-порт, нужно попросить сервер перейти в пассив режим.
а перед тем как писать своего фтп клиента, нехило было бы изучить сам фтп протокол