Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

Помогите, пожалуйста с Web-сервером   Найти похожие ветки 

 
r9000   (2004-08-10 08:32) [0]

Добрый день!

Помогите, пожалуйста с Web-сервером.
Создали программу тестирование через Internet Explorer на основе Web-сервера на основе ISAPI/NSAPI Dynamic Link Library, настроили Personal Web-сервер для Windows 98. Когда тестируется один пользователь, то программа работает нормально (т.е. правильно выводится номер следующего вопроса, количество вопросов и т.д.). Когда тестируются например два пользователя одновременно, то программа работает уже неправильно(например первый пользователь остановился на 5-вопросе теста, а второй на 1-вопросе,при нажатии второго пользователя на кнопку "продолжить" выводится не второй вопрос, а 6-вопрос, также нарушается количество выводимых вопросов).
Получается, что dll не разделяет пользователей?
Что делать?
Может можно перенести созданную программу на другую основу?
Помогите, пожалуйста


 
And   (2004-08-10 11:35) [1]

Необходимо делать те самые сессии, которые не знаю как сделать, сам ищу.


 
Плохиш ©   (2004-08-10 11:40) [2]


> r9000   (10.08.04 08:32)

> Что делать?

Изучать работу cookie, в частности.


 
r9000   (2004-08-12 06:24) [3]

А что такое cookie и как, его можно использовать в данном случае.
Если можно напримере, пожалуйста.


 
piople ©   (2004-08-12 06:42) [4]

Поподробней, откуда беруться вопросы и где храниться текущий вопрос, и вообще поподробней как у тя все работает!


 
r9000   (2004-08-12 07:04) [5]

Вопросы, да и практически вся другая информация, берутся из базы данных на MSSql. Вся обработка происходит в действии WebModule1WebActionItem1Action. Используются компоненты PageProducer,adoquery. Посылаются html-странички браузеру методом
Response.Content:=pageproducer.Content. Анализируются какие данные передаются браузером, методом s5:=Request.QueryFields.Values["Submit4"];
if s5<>"" then
if Request.QueryFields.Values["Name_doc"]<> "" then
и т.д.


 
piople ©   (2004-08-12 07:12) [6]

Я где храниться номер текущего вопроса???
На клинетской часто в <input type="hidden" ... >?


 
piople ©   (2004-08-12 07:19) [7]

Просто на сколько я понимаю, у тя просто пересекаются значения текущего вопроса от разных пользователей?!


 
r9000   (2004-08-12 07:41) [8]

Номер текущего вопроса хранится в переменной объявленной глобально как обычно в delphi для windows nvop: integer. Может, действительно, как-то можно передавать номер вопроса каждому браузеру(подключенному к dll) и при дальнейшем обращении браузера(нажатии кнопки "продолжить") считывать это значение и обрабатывать его? Как это сделать синтисически, т.е. на примере?
Да ,получается, что переменная с номером вопроса общая для всех пользователей,т.е. для всех браузеров.


 
piople ©   (2004-08-12 07:52) [9]

Вот вот!!!!!!!!!!
Номер вопроса который будет следующим ты должет передать страничке пользователя, а когда он посылает запрос на следующий вопрос ты береш номер и даешь след. вопрос, а инече у тя и будет такая же лажа!!!!


 
r9000   (2004-08-12 07:54) [10]

Так как это сделать? Можно на примере, пожалуйста?


 
piople ©   (2004-08-12 08:06) [11]

Дай мне пример как ты генерируешь страничку с вопросом!!!!!


 
wal ©   (2004-08-12 13:53) [12]

К форме, в которой ответы на вопросы вводятся добавляешь поле <input type="hidden" name="QuestNum" value=номер_вопроса>.
Когда пользователь нажмет Submit, то это поле перешлется на сервер вместе с теми полями, куда пользователь ответы вводил. На сервере считываешь значение этого поля, увеличиваешь, генеришь страничку со следующим вопросом и форомой ответа, в которой в скрытом поле указываешь с номер текущего вопроса. Вроде не запутался.

С уважением.


 
r9000   (2004-08-13 06:08) [13]

Да большое спасибо вы правы!


 
piople ©   (2004-08-13 07:17) [14]


> wal

Так то оно так, но кк быть если вопросы генерируются случайно?
Надо тогда еще и передавать номера всех вопросов которые уже были!


 
wal ©   (2004-08-13 10:28) [15]


> piople ©   (13.08.04 07:17) [14]
> Так то оно так, но кк быть если вопросы генерируются случайно?
> Надо тогда еще и передавать номера всех вопросов которые
> уже были!
Можено и все передавать - проблем никаких нету. Можно на сервере хранить - проблем тоже быть не должно.

С уважением.


 
[serzh]   (2004-08-13 11:37) [16]

Когда работаешь с ISAPI нужно юзать компонентик Sessions!


 
r9000   (2004-08-13 11:54) [17]

Каким образом использовать компонент Sessions с adoquery и я вроде проверял его с компонентами bde не помогает.


 
Плохиш ©   (2004-08-13 11:55) [18]


> r9000   (12.08.04 06:24) [3]
> А что такое cookie

Т.е. интернетом пользоваться и книжки читать мы не умеем/не хотим?

WebContext.Request.CookieFields
Response.Cookies


 
[serzh]   (2004-08-13 12:09) [19]

Попробуй тоже самое сделать на Stand-Alone CGI!
Пиши что получится!



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.047 c
4-1095593167
ArhDD
2004-09-19 15:26
2004.10.24
Как в WinApi из Edit записать в переменную integer?


1-1096986327
Поручик
2004-10-05 18:25
2004.10.24
Record To File


14-1096619424
icebeerg
2004-10-01 12:30
2004.10.24
Трабла с ситемой...


14-1096967487
Robbin
2004-10-05 13:11
2004.10.24
ОЗУ


6-1092720965
serg128
2004-08-17 09:36
2004.10.24
Как принимать/отправлять сообщения при помощи TNMUDP?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский