Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Профикам [D5]


Alexander K. ©   (2002-04-13 22:56:00) 

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


Donal_Graeme   (2002-04-14 21:41:00) [1]

есть приложение сервер - у него на форме TServerSocket.
есть приложение клиент - у него TClientSocket, cоответственно. Если нужно универсальную прогу - тогда оба сокета.

Теперь как всё работает... И у TServerSocket и у TClientSocket выставляется один и тот же порт.

Активируется серверный сокет у серверного приложения. С этого момента сервер слушает заданный порт.
Когда активируется клиентский сокет, он соединяется с сервером по заднному порту. После этого передача пакетов возможна как с клиента на сервер, так и с сервера на клиент.

Никакой разницы нет, сколько клиентов подключается к серверу (но не более определённого количества одновременно - этот предел установлен операционной системой).
Все клиенты подключаются по одному порту.


Alexander K.   (2002-04-14 19:51:00) [2]

В том-то и сложность, что число клиентов плавает


Song   (2002-04-14 17:59:00) [3]

Порт назначается для TServerSocket. А TClientSocket как раз и отправляет данные. Это самая простая структура.
На форму ложите оба этих компанента. Для одного программируете передачу, а для другого только приём.


Alexander K.   (2002-04-14 16:27:00) [4]

Хорошо. А как лучше организовать передачу потоков клиенту и от клиента. Открывать для каждого клиента 2 порта? Один для приема, другой для записи?


Song   (2002-04-14 11:36:00) [5]

TClientSocket, TServerSocket одназначна.. :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо