Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2010, 17:20   #1
komis
Новичок
Джуниор
 
Регистрация: 19.04.2010
Сообщений: 1
По умолчанию Знание протокола TCP под Linux, передача данных между клиентом и FTP сервером

Вопрос собственно такой. Есть программа, реализующая передачу данных с ftp сервера на клиент в активном режиме, написана на Си++. Насколько я понимаю активный режим, это когда все происходит по такой схеме. Клиент со своего порта посылает запрос серверу на его 21 порт, запрос на передачу данных. А сервер в свою очередь с 20-го порта пересылает данные клиенту. Собственно говоря вопрос в том, как сервер узнает на какой порт к клиенту он должен подключиться.

Я приложил программу в ней вроде как это реализовано, по крайней мере работает, но. Проблема в том, что например я задаю порт с которого клиент будет связываться с сервером конкретный, в самом начале программы, а когда я смотрю логи передачи файлов, оказывается что реальный порт на который передавались данные отличается.

Кто может подробно объясните как это реализовано какими функциями и тд. желательно в программном коде. Заранее большое спасибо знающим людям!!!

http://narod.ru/disk/19886542000/ftp.cpp.html

вот как работает протокол tcp

21/tcp - это управляющий порт. По нему передаются только команды.
В активном режиме соединение выглядит так:
connect:................... client tcp/[N] --> server tcp/21 // N > 1023
send ftp command:.. PORT [N+1]
listen:....................... client tcp/[N+1]
connect:................... server tcp/20 --> client tcp/[N+1]

Я плохо разбираюсь в программировании и не вижу как и где это реализовано в моем коде, который я приложил, в этом и проблема.

Последний раз редактировалось komis; 19.04.2010 в 17:27.
komis вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных между страницами IQ-40 Безопасность, Шифрование 0 28.01.2008 11:32
передача данных между процедурами Неясыть Общие вопросы Delphi 15 18.11.2007 12:54
Организовать собственный протокол на базе протокола TCP Вениамин Работа с сетью в Delphi 2 17.11.2007 18:10
обмен сообщениями между клиентом и сервером используя ClientSocket и ServerSocket xTANATOSx Работа с сетью в Delphi 3 04.10.2007 15:17
Передача данных между окнами/приложениями? Dexer Win Api 11 23.05.2007 16:23