![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день. Есть программа, написанная в стиле процедурного програмированния в РАД2010:
- программа имеет GUI (МЕМО1, МЕМО2, Кнопка и дополнительно настройка алгоритма обработки) - пользователь вводит исходные данные в окно ввода МЕМО1, нажимает кнопку - программа обрабатывает данные по сложному алгоритму, зависящему от введенных пользователем данных (текст) - программа выводит результат работы в МЕМО2 на это цикл работы программы заканчивается В ближайшее время кнопка и МЕМО1,2 будут вынесены в ВЕБ-интерфейс (ВЕБ-сервер на одном хосте в просторах интернета) и пользователь будет подключаться к программе как к удаленному сервису через браузер. на текущий момент и после подключения ВЕБ-интерфейса программа одномоментно может работать только с одним пользователем, демо-версия Вопрос: каким образом можно ввести многопользовательский режим: - каждый пользователь получает свою сесссию на ВЕБ-сервере, это понятно - каждый пользователь должен получить на сервере приложения свой поток? в общем как перевести программу написанную для работы с одним пользователем в многопользовательский режим? какие для этого существуют способы? |
#2
|
||||
|
||||
![]() можно обработку переписать на javascript и вставить в страничку)
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() при чем тут вообще ЖАБА?
к веб-серверу подключается с одной стороны пользователь через браузер, с другой стороны сервер приложений, на котором установлена программа написанная на ДЕЛФИ!!!!! |
#4
|
||||
|
||||
![]() опиши подробно механизм взаимодействия сервера приложений и программы на Delphi.
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
![]() программа вообщето на отдельном сервере приложений, написана на ДЕЛФИ. сервер находится в одном городе, в одном здании, в одной комнате, подключен к интернету
сервер периодически подключается к веб-серверу(апач конечно, на каком нибуть дешевом хосте где то в просторах интернетума) к ЧАТу, смотрит, нет ли запроса от пользователя ту да же подключается пользователь, вводит в окно ввода текст и нажимает большую красную кнопку (ранее известную как "кракер интернета") сервер получает задачу, решает задачу и отсылает данные взад, в ЧАТ где пользователь их видит, на ХТМЛ странице пока все это работает в однопользовательском режиме, пока текущий пользователь не закончил сессию, другой пользователь не может получить доступ к серверу приложений, который находится...... теперь то понятно о чем идет речь? |
#6
|
||||
|
||||
![]() Цитата:
Цитата:
Цитата:
Цитата:
Пишу программы за еду. __________________ |
#7
|
|||
|
|||
![]() другой написать в чат не может, ему выдается сообщение "изгвените, все операторы заняты", а сообщение выдается потому что программа работает в однопользовательском режиме и цикл обработки запроса занимает от нескольких минут до нескольких часов (как известно один дурак может задать вопрос который озадачит и сто мудряков) и конечно не обращает внимания ни на что пока не завершит текущий цикл, причем процессор практически не загружен. вот тут и встает вопрос: как запустить обработку других запросов, какими способами в делфи это делается.
|
#8
|
||||
|
||||
![]() Classes.TThread
Пишу программы за еду. __________________ |
#9
|
|||
|
|||
![]() это было понятно
а примера нет, как обернуть обработку бтн.клик(к примеру) в поток? диспетчер там вообще подразумевается? вообще это единственный способ? поток? может еще какие варианты? |
#10
|
||||
|
||||
![]() -перенести код из обработчика события кнопки в Execute
-диспетчер чего? -для многозадачности потоки самое простое и правильное решение Пишу программы за еду. __________________ |
#11
|
|||
|
|||
![]() диспетчер...
ну должен же кто то управлять потоками впрочем об этом почитаем в источниках |