Тема: FTP server
Показать сообщение отдельно

  #5  
Старый 10.06.2008, 14:15
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

t04, учись читать оригинальную документацию! В оригинальном виде, тема уже боянистая и тысячу раз избитая. Да и протокол не представляет из себя никаких сложностей. Почитай RFC959:

http://www.w3.org/Protocols/rfc959/

Причём интерес предоставляет именно документ на английском, т.к. он наиболее полный.

В конце-концов поищи описание на русском:

http://www.soslan.ru/tcp/tcp27.html

А что касается твоей проблемы. Проверь ещё раз все байты и их порядок, которые твой сервак получает в команде PORT. Так, например, команда:

Цитата:
PORT n1,n2,n3,n4,n5,n6
Откроет на интерфейса n1.n2.n3.n4 порт (n5 x 256 + n6).

И учти, что управляющее соединение открыто всегда, а канал данных открывается только при необходимости и закрывается после завершения любой передачи по нему. По ситуации, которую ты описал похоже, что ты не отправляешь команду PORT (или сервер её не обрабатывает?), и тогда сервер начинает по умолчанию использовать тот же самый номер порта, что использовался клиентом для управляющего соединения.

И вообще, в каком режиме у тебя сервер принимает клиентские соединения? Пассивный? Активный? Твоя проблема может быть проблемой того, что внешний фаер не пускает соединение сервера на непривилегированный клиентский порт для организации канала данных. В общем ознакомься с документацией, на которую я дал линки.
 
Ответить с цитированием