FTP комманда LIST (зависает)

Тема в разделе "WASM.NETWORKS", создана пользователем tylerdurden, 22 мар 2006.

  1. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Хай. Пишу FTP под нашу ось (sockets/tcp/ip/enet уже написал, вроде работает но на всяк пожарный прилепил лог пакетов сессии (в формате comview и просто текст)). Действую след. образом:

    1. Обрабатываю коннект/user/port (тут все ок)

    2. Приходит LIST, я коннектюсь на указанный ip/порт (коннект проходит успешно)

    3. Шлю им строки:

    "150 Opening ASCII mode data connection\r\n";

    "drw-rw-rwx 0 nouser nogroup 0 Sep 0 00:00 folder\r\n";

    "226 Ok\r\n";

    4. Закрываю канал данных. На мой FIN приходит акк, но клиент "зависает" на несколько секунд после этого... Потом шлет ABORTы (я их пока не врубил, отвечаю not implemeted). Потом таки шлет мне FIN+ACK и только после этого, аллелуя, выводит мой folder... WTF ? Объясните плиз, может я не совсем понял telnet протокол, он явно чего-то еще ждет после строки с "folder", может там должно быть два 0xd,0xa ? ХЗ :dntknw:



    [​IMG] _668858510__pack.zip
     
  2. Mad__C

    Mad__C New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2004
    Сообщения:
    13
    А "200 PORT command successful" после команды PORT клиента и удачного открытия порта сервером ты шлешь клиенту?
     
  3. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Да, вообще-то это видно в логах :)
     
  4. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Все ок, оказывается я на FIN'е увеличивал на 1 seq number для ACK'а... В очередной раз винда показала свое "нечеловеческое" лицо TCP-реализации (вот интересно попытаться с линуха законнектится на такой ftp...)