Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
ВнизКорректность алгоритма программы(сетевой тест) на сокетах Найти похожие ветки
← →
Sergl (2007-11-21 07:54) [0]Вопрос о корректности алгоритма программы(сетевой тест) с использованием сокетов:
Далее будет описана логика программы поэтапно:
ps. Все общение между клиентом и сервером с помощью sendtext`а
1к - 1этап клиента
1с - 1этап сервера
0с) включается сервер
0к) клиент присоединяется к серверу
1к) клиент посылает запрос(SQL запрос) серверу, и ждет ответа сервера
1с) сервер при получении SQL запроса определенного вида
разбирает/выполняет его как нужно и после отдает клиенту ID(первичный ключ) из таблицы.
2к) клиент получает с сервера ID, хранит его, приступает к самому тестированию, и после ответов на вопросы отдает результаты серверу в виде SQL запроса
2с) сервер разбирает/выполняет SQL запрос пришедший от клиента и отрубает его(естественно если запрос определенной формы)
Как видно структура проста... вовсе не используется блокировка, и возникает вопрос:
При подключении нескольких клиентов к серверу алгоритм программы корректен???
← →
Slym © (2007-11-21 09:00) [1]как алгоритм коррелирует с подключением нескольких клиентов?
коректность "При подключении нескольких клиентов к серверу" следует искать в реализации множественного параллельного доступа к неразделяемому объекту
← →
Sergey13 © (2007-11-21 09:05) [2]> [0] Sergl (21.11.07 07:54)
> Все общение между клиентом и сервером с помощью sendtext`а
А смысл всего этого какой? Почему просто не работать с СУБД через SQL?
← →
Sergl (2007-11-21 09:08) [3]Сервер выполняет SQL-зарпосы от клиента(ну и передает один раз), предварительно добавляя в эти запросы ip и сетевое имя.
Меня интересует что будет в таких случаях: когда к серверу в одно и тоже время будут присылаться эти запросы...
PS. я знаю, например, что web-сервера(например Apache) запускают отдельный процесс для каждого клиента из интернета... а как delphi c этим поступает???
← →
Sergl (2007-11-21 09:09) [4]
> А смысл всего этого какой? Почему просто не работать с СУБД
> через SQL?
Серевер должен добавить системную инфу в этот запрос.
← →
Sergey13 © (2007-11-21 09:18) [5]> [4] Sergl (21.11.07 09:09)
Ты считаешь БД-сервер не может ничего системного добавить "от себя"? 8-)
Может все таки задачу опишешь?
← →
Sergl (2007-11-21 09:24) [6]
> Ты считаешь БД-сервер не может ничего системного добавить
> "от себя"? 8-)Может все таки задачу опишешь?
Я сделал как сделал. И переделывать желания пока нету.
Вопрос: что будет когда к серверу в одно и тоже время будут присылаться эти запросы... как он будет их выполнять? Может его стоит заблокировать до момента окончания выполнения задания от клиета?
← →
Sergl (2007-11-21 10:04) [7]Как заблоблокировать сервер пока он работает содним клиентом, т.е. как заставить остальных клиентов ждать пока сервер обработает предидущего клиента?
← →
Slym © (2007-11-21 10:16) [8]Sergl (21.11.07 9:08) [3]
а как delphi c этим поступает
дельфи поступает так как ему запрограммировали...
ты программист или где?
Sergl (21.11.07 10:04) [7]
TCriticalSection +F1
← →
Сергей М. © (2007-11-21 12:22) [9]
> Как заблоблокировать сервер пока он работает содним клиентом
Сделать сервер однопоточным, а транспорт, им используемый, блокирующим.
> как заставить остальных клиентов ждать
Чем они провинились ?)
Ты когда в очереди в пивной ларек стоишь, тоже сочувстуешь бедному-несчастному продавцу ларька, который якобы не по своей воле допустил скопление народа у заветной "амбразуры" ?)
← →
Сергей М. © (2007-11-21 12:25) [10]
> отдает клиенту ID(первичный ключ) из таблицы.
> клиент получает с сервера ID
> Все общение между клиентом и сервером с помощью sendtext
Умнее ничего не придумал, кроме как гонять по сети целочисленное значение в текстом представлении ?)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c