Имя: Пароль:
1C
Веб-мастеринг
Кто сам программировал FTP сервер?
, ,
0 Ислам
 
25.06.14
05:44
Есть пару вопросов.
Как происходит обработка команды List?
Я понял так:
Клиент подключается к серверу на его ИП и порт 21,
Клиент посылает текст "LIST\r\n",
Сервер посылает текст "150 blablabla\r\n"
Сервер делает новое подключение к клиенту (зачем? оно ведь уже есть)
Сервер посылает список файлов но новому подключению
Сервер закрывает новое подключение
Сервер посылает текст по старому подключению "227 blabla\r\n"

Где я не правильно понял?
1 Мигало
 
25.06.14
05:47
на 20 порт данные пинаются, с 21 принимаются команды
2 Ислам
 
25.06.14
05:58
(1) То есть сервер должен еще и 20 порт слушать, а клиент на него второе подключение создать?
3 Мигало
 
25.06.14
06:02
Читал,типа этого ?
http://www.soslan.ru/tcp/tcp27.html
4 Ислам
 
25.06.14
06:03
(3) Читал типа этого, но не это.
5 Мигало
 
25.06.14
06:05
(4) Там рисуночек 27.5 ...
6 Ислам
 
25.06.14
06:11
(5) Не написано кто открывает порт 20, вообще про номер порта нет ничего
7 Ислам
 
25.06.14
06:12
А, нарисовано.
8 Ислам
 
25.06.14
06:12
Спасибо, щас разбирусь
9 Ислам
 
25.06.14
07:30
Хрень какая-то. Не понятно как сервер выбирает 20 порт, если в соединении указывается только порт клиента!
И как обрабатывать команду PASW тоже не понятно. Клиент ее посылает, а на любой отваливается.
10 Ислам
 
25.06.14
07:33
PASV тоесть
11 vde69
 
модератор
25.06.14
08:07
вообще FTP соединение есть активное и пассивное, именоо от этого зависят порты....
12 Ислам
 
25.06.14
08:09
В пассивном понятно. А в активном не понятно.
13 Chai Nic
 
25.06.14
08:12
14 Ислам
 
25.06.14
09:01
Ладно, с этим пока разобрался.
А как работает LIST?
Где описание структуры которую сервер должен передать клиенту?
15 ДенисЧ
 
25.06.14
09:13
(14) А может, ты для начала rfc 959 прочитаешь?
16 Ислам
 
25.06.14
09:23
(15) Ххааахахах шутник.
17 mistеr
 
25.06.14
09:25
(16) Читай RFC, вольные переводи и объяснения "на пальцах" только заведут в тупик.
18 ДенисЧ
 
25.06.14
09:29
(16) на 1с ты тоже пишешь, не читая книжек по языку?
19 mistеr
 
25.06.14
09:33
(18) Зачем, есть же Миста.
20 Kalambur
 
25.06.14
10:02
(16) мда, я думал ты адекватней
21 le_
 
25.06.14
10:03
22 Ислам
 
25.06.14
10:12
(20) Я тебя не знаю.

Пока вы тут флудили, я посмотрел какие данные приходят от другого сервера и понял структуру.

Там все просто: Если в начале строки d, то это каталог, иначе файл, потом через пробел всякие атрибуты и имя файла, в конце \r\n.
23 Ислам
 
30.06.14
06:15
Фигня какая-то. Один ФТП клеент нормально отображает данные, пришедшие с сервера по команде LIST, другой не правильно.
Может есть все-таки четкое описание структуры, которую должен возвратить FTP сервер?
24 ДенисЧ
 
30.06.14
07:49
(23) тебе ужо дали все ссылки
25 ADirks
 
30.06.14
08:01
(23) Это потому что писатели серверов тоже не слишком затрудняют себя чтением RFC.
Всегда удивляло, как можно такой примитивный протокол реализовать так разнообразно, и кривовато.
26 Адинэснег
 
30.06.14
08:49
велосипед никак пишет
27 Адинэснег
 
30.06.14
08:56
взять, готовый, посмотреть сорс
http://www.codeproject.com/Articles/2558/A-Complete-FTP-Server
28 Chai Nic
 
30.06.14
09:00
(25) "Всегда удивляло, как можно такой примитивный протокол реализовать так разнообразно, и кривовато."
Как будто с WebDAV иначе вышло.. то же самое - куча кривых велосипедов)
29 Jump
 
30.06.14
09:00
(2)Зависит от резима активный или пассивный.
30 Ислам
 
04.07.14
10:18
(24) Ты мне ничего не давал. И вообще похоже ты не понимаешь о чем разговор.

(27) Посмотрел, сделал, вроде пашет.
Это что, так правильно писать сервер, смотреть друг у друга сорсы, а не писать по какому-то утвержденному стандарту?
31 f_vadim
 
04.07.14
10:22
(30) нет. правильно ничего не читать и нигде не смотреть и задавать тупые вопросы на мисте.
32 Ислам
 
04.07.14
10:24
(31) нет. правильно делать вид что все знаешь и давать наобум ссылки в которых нет ответа на мой вопрос, а потом нагло врать что я ничего не читал.
33 acsent
 
04.07.14
10:26
Порт сервера всегда 21, а вот порт клиента может зависеть
34 Ислам
 
04.07.14
10:38
(33) С этим уже давно разобрался.
Все еще не понятно откуда брать формат ответа на команду LIST кроме как методом тыка.
35 Ислам
 
04.07.14
10:43
(25) >> Всегда удивляло, как можно такой примитивный протокол реализовать так разнообразно, и кривовато.

ничего удивительного. FTP протокол придумали когда не было FTP клиентов, и все ответы сервера интерпретировал человек. Для человека легко отличить колонку размера файла от колонки даты, он догадливый, в то время как машине это гораздо сложнее сделать.
36 vlandev
 
04.07.14
10:57
37 Ислам
 
04.07.14
11:05
(36) То есть формат соответствует /bin/ls

Интересно. Спасибо!

Значит время создания прошлогоднего файла узнать не удастся. Вот хрень так хрень, почти как 1С...
38 vlandev
 
04.07.14
11:23
(37) Время создания файла можно вытащить через MLST
39 Ислам
 
04.07.14
12:45
(38) Супер!
Вот это я понимаю ответ по теме.
Ну и остальные тоже конечно молодцы, хорошо пофлудили.
Тему можно закрыть.
40 mistеr
 
06.07.14
20:32
(39) Стоило только правильно задать вопрос...
Или почитать таки RFC.
41 Ислам
 
07.07.14
05:44
(40) Стоило только правильно ответить на вопрос.
Но даже не смог правильно прочитать вопрос, раз про RFC пишешь.
42 Wobland
 
07.07.14
05:45
(41) здесь ты просишь помощи. значит, правильный вопрос с тебя
43 osa1C
 
07.07.14
05:56
как сделать так чтобы темы ТС у меня вообще нигде не отображались... чтоб ни видел я их?
44 Ислам
 
07.07.14
05:58
(42) Я разве против? Всегда задаю правильные вопросы. Но редко находятся люди, знающие на них ответ.
45 Wobland
 
07.07.14
05:59
(43) отсидеть от шести до пятнадцати
46 Ислам
 
07.07.14
05:59
(43) Запрети ИП мисты в брандмауэре.
47 Wobland
 
07.07.14
06:00
(44) имхо, ты весьма недалёк. я на нетрезвую голову так же думаю, что говорю правильные и разумные вещи
48 osa1C
 
07.07.14
06:01
(44) вариант НЕ ЗАДАВАТЬ ВОПРОСОВ, раз ты такой всезнайка, а все тупые не предлагать?
49 Ислам
 
07.07.14
06:01
(47) Многие глупые люди ошибочно думают что я не далек, потому что разговариваю с ними на упрощенном языке чтобы меня понимали.
50 Ислам
 
07.07.14
06:02
(48) Сам догадался?
51 Wobland
 
07.07.14
06:02
(49) занавес
52 Ислам
 
07.07.14
06:03
-1 тролль
53 Aleksey
 
07.07.14
06:56
Ну вот  оппозитные тормоза поменял, теперь можно и за 1С браться
54 CPU0
 
07.07.14
07:50
(42) он этого не понимает и объяснять ему нет смысла, проверено
55 CPU0
 
07.07.14
07:54
+(54) имхо, мне кажется, Ислам это мусульманская реинкарнация Гения…
56 Kandellaster
 
07.07.14
08:41
(55) не всех больных война убила, вот и докучают частным людям
57 Ислам
 
07.07.14
12:14
(53) Можно быть всесторонне развитым, представь себе.
(54) Действительно, не понимаю, как можно не понять простой вопрос. Хотя можно понять, но не знать ответа, и говорить что вопрос не понятный.
(55) Не знаком с ним.
(56) Тут тролли развлекаются, им вроде не скучно.

Кто в вопросе шарит, уже давно написал правильный ответ, и смеется над вами.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший