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

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

Корректность алгоритма программы(сетевой тест) на сокетах


Sergl ©   (2007-11-21 07:54:00) 

Вопрос о корректности алгоритма программы(сетевой тест) с использованием сокетов:

Далее будет описана логика программы поэтапно:

ps. Все общение между клиентом и сервером с помощью sendtext`а
   1к - 1этап клиента
   1с - 1этап сервера

0с) включается сервер
0к) клиент присоединяется к серверу

1к) клиент посылает запрос(SQL запрос) серверу, и ждет ответа сервера
1с) сервер при получении SQL запроса определенного вида
разбирает/выполняет его как нужно и после отдает клиенту ID(первичный ключ) из таблицы.

2к) клиент получает с сервера ID, хранит его, приступает к самому тестированию, и после ответов на вопросы отдает результаты серверу в виде SQL запроса
2с) сервер разбирает/выполняет SQL запрос пришедший от клиента и отрубает его(естественно если запрос определенной формы)

Как видно структура проста... вовсе не используется блокировка, и возникает вопрос:

При подключении нескольких клиентов к серверу алгоритм программы корректен???


Сергей М.   (2007-11-21 12:25:00) [1]


> отдает клиенту ID(первичный ключ) из таблицы.


> клиент получает с сервера ID


> Все общение между клиентом и сервером с помощью sendtext


Умнее ничего не придумал, кроме как гонять по сети целочисленное значение в текстом представлении ?)


Сергей М.   (2007-11-21 12:22:00) [2]


> Как заблоблокировать сервер пока он работает содним клиентом


Сделать сервер однопоточным, а транспорт, им используемый, блокирующим.


> как заставить остальных клиентов ждать


Чем они провинились ?)

Ты когда в очереди в пивной ларек стоишь, тоже сочувстуешь бедному-несчастному продавцу ларька, который якобы не по своей воле допустил скопление народа у заветной "амбразуры" ?)


Slym   (2007-11-21 10:16:00) [3]

Sergl   (21.11.07 9:08) [3]
а как delphi c этим поступает

дельфи поступает так как ему запрограммировали...
ты программист или где?
Sergl   (21.11.07 10:04) [7]
TCriticalSection +F1


Sergl   (2007-11-21 10:04:00) [4]

Как заблоблокировать сервер пока он работает содним клиентом, т.е. как заставить остальных клиентов ждать пока сервер обработает предидущего клиента?


Sergl   (2007-11-21 09:24:00) [5]


> Ты считаешь БД-сервер не может ничего системного добавить
> "от себя"? 8-)Может все таки задачу опишешь?

Я сделал как сделал. И переделывать желания пока нету.

Вопрос: что будет когда к серверу в одно и тоже время будут присылаться эти запросы... как он будет их выполнять? Может его стоит заблокировать до момента окончания выполнения задания от клиета?


Sergey13   (2007-11-21 09:18:00) [6]

> [4] Sergl   (21.11.07 09:09)

Ты считаешь БД- серверне может ничего системного добавить "от себя"? 8-)

Может все таки задачу опишешь?


Sergl   (2007-11-21 09:09:00) [7]


> А смысл всего этого какой? Почему просто не работать с СУБД
> через SQL?

Серевер должен добавить системную инфу в этот запрос.


Sergl   (2007-11-21 09:08:00) [8]

Сервер выполняет SQL-зарпосы от клиента(ну и передает один раз), предварительно добавляя в эти запросы ip и сетевое имя.

Меня интересует что будет в таких случаях: когда к серверу в одно и тоже время будут присылаться эти запросы...

PS. я знаю, например, что web-сервера(например Apache) запускают отдельный процесс для каждого клиента из интернета... а как delphi c этим поступает???


Sergey13   (2007-11-21 09:05:00) [9]

> [0] Sergl   (21.11.07 07:54)
> Все общение между клиентом и сервером с помощью sendtext`а

А смысл всего этого какой? Почему просто не работать с СУБД через SQL?


Slym   (2007-11-21 09:00:00) [10]

как алгоритм коррелирует с подключением нескольких клиентов?
коректность "При подключении нескольких клиентов к серверу" следует искать в реализации множественного параллельного доступа к неразделяемому объекту


Наверх

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