Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.04.2012, 13:22
Pcrepair
 
Сообщения: n/a
По умолчанию Многопользовательский режим работы проги

Добрый день. Есть программа, написанная в стиле процедурного програмированния в РАД2010:
- программа имеет GUI (МЕМО1, МЕМО2, Кнопка и дополнительно настройка алгоритма обработки)
- пользователь вводит исходные данные в окно ввода МЕМО1, нажимает кнопку
- программа обрабатывает данные по сложному алгоритму, зависящему от введенных пользователем данных (текст)
- программа выводит результат работы в МЕМО2
на это цикл работы программы заканчивается
В ближайшее время кнопка и МЕМО1,2 будут вынесены в ВЕБ-интерфейс (ВЕБ-сервер на одном хосте в просторах интернета) и пользователь будет подключаться к программе как к удаленному сервису через браузер.
на текущий момент и после подключения ВЕБ-интерфейса программа одномоментно может работать только с одним пользователем, демо-версия

Вопрос: каким образом можно ввести многопользовательский режим:
- каждый пользователь получает свою сесссию на ВЕБ-сервере, это понятно
- каждый пользователь должен получить на сервере приложения свой поток?
в общем как перевести программу написанную для работы с одним пользователем в многопользовательский режим? какие для этого существуют способы?
Ответить с цитированием
  #2  
Старый 26.04.2012, 13:33
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Смех

можно обработку переписать на javascript и вставить в страничку)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 26.04.2012, 14:23
Pcrepair
 
Сообщения: n/a
По умолчанию

при чем тут вообще ЖАБА?
к веб-серверу подключается с одной стороны пользователь через браузер, с другой стороны сервер приложений, на котором установлена программа написанная на ДЕЛФИ!!!!!
Ответить с цитированием
  #4  
Старый 26.04.2012, 14:49
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

опиши подробно механизм взаимодействия сервера приложений и программы на Delphi.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 26.04.2012, 14:54
Pcrepair
 
Сообщения: n/a
По умолчанию

программа вообщето на отдельном сервере приложений, написана на ДЕЛФИ. сервер находится в одном городе, в одном здании, в одной комнате, подключен к интернету
сервер периодически подключается к веб-серверу(апач конечно, на каком нибуть дешевом хосте где то в просторах интернетума) к ЧАТу, смотрит, нет ли запроса от пользователя
ту да же подключается пользователь, вводит в окно ввода текст и нажимает большую красную кнопку (ранее известную как "кракер интернета")
сервер получает задачу, решает задачу и отсылает данные взад, в ЧАТ где пользователь их видит, на ХТМЛ странице
пока все это работает в однопользовательском режиме, пока текущий пользователь не закончил сессию, другой пользователь не может получить доступ к серверу приложений, который находится......

теперь то понятно о чем идет речь?
Ответить с цитированием
  #6  
Старый 26.04.2012, 15:20
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Pcrepair
программа вообщето на отдельном сервере приложений
вообще-то это никто и не оспаривал!
Цитата:
Сообщение от Pcrepair
сервер находится в одном городе, в одном здании, в одной комнате
т.е. не очень большой сервер по габаритам?)
Цитата:
Сообщение от Pcrepair
нажимает большую красную кнопку (ранее известную как "кракер интернета")
почему была переделана кнопка?
Цитата:
Сообщение от Pcrepair
пока текущий пользователь не закончил сессию, другой пользователь не может получить доступ к серверу приложений
т.е. другой не может написать в чат? или программа пока обрабатывает запрос от первого не смотрит за чатом на наличие новых запросов и соотв. не пытается их обрабатывать?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 26.04.2012, 15:38
Pcrepair
 
Сообщения: n/a
По умолчанию

другой написать в чат не может, ему выдается сообщение "изгвените, все операторы заняты", а сообщение выдается потому что программа работает в однопользовательском режиме и цикл обработки запроса занимает от нескольких минут до нескольких часов (как известно один дурак может задать вопрос который озадачит и сто мудряков) и конечно не обращает внимания ни на что пока не завершит текущий цикл, причем процессор практически не загружен. вот тут и встает вопрос: как запустить обработку других запросов, какими способами в делфи это делается.
Ответить с цитированием
  #8  
Старый 26.04.2012, 15:49
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Classes.TThread
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #9  
Старый 26.04.2012, 15:56
Pcrepair
 
Сообщения: n/a
По умолчанию

это было понятно
а примера нет, как обернуть обработку бтн.клик(к примеру) в поток? диспетчер там вообще подразумевается?
вообще это единственный способ? поток? может еще какие варианты?
Ответить с цитированием
  #10  
Старый 26.04.2012, 16:01
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

-перенести код из обработчика события кнопки в Execute
-диспетчер чего?
-для многозадачности потоки самое простое и правильное решение
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #11  
Старый 26.04.2012, 16:12
Pcrepair
 
Сообщения: n/a
По умолчанию

диспетчер...
ну должен же кто то управлять потоками
впрочем об этом почитаем в источниках
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025