Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

как в CGI пока выполняется программа отобразить сообщение? ??   Найти похожие ветки 

 
NewD   (2003-10-20 13:22) [0]

У меня в CGI выплняются запросы к базе данных - все это может занимать разное время в зависимости от запроса, и пока он иднт мне нужно отобразить на странице что-то вроде
"подождите пожалуйста", а кога страница сформируется выдавать ее в RESPONCE. Как это сделать ?
Кто уже сталкивался с такой задачей ?
Спасибо.


 
Palladin ©   (2003-10-20 13:41) [1]

Рализовать в CGI приложении это не возможно. Ибо оно прекращает работу при окончании формирования ответа серверу.
Необходимо писать внешнее приложение, которое и будет заниматся запросами к базе и формировании результата. CGI приложению остается лишь управлять ей и выводить состояние, а так же и результат, клиенту.


 
NewD   (2003-10-20 15:38) [2]

Я кажется понял - написать консольное приложение которое из СGI запускать в виде отдельного процесса, но потом придется проверять выполнило ли оно свою функцию или нет, значит опять придется запускать СGI уже спроверкой. Это надо предусмотреть опять таки на странице.

А после формирования страницы как из внешнего приложения передать скажем текстовый поток, если внем сохранить сформированную страницу HTML обратно в (или сохранять его отдельным файлом ?).

Но если обращений много как узнать из СGI какое именно приложение выполняет нужный запрос.

Слишком сложно - есть какие-нибудь альтернативы ?


 
Palladin ©   (2003-10-20 15:50) [3]

нет альтернатив, и это несложно...

Конечно нужно предусмотреть на странице. Можно таким способом.
<meta http-equiv="Refresh" content="1; url=твой CGI">

Тебе не нужно формировать страницу на стороне внешнего приложения, нужны лишь данные, а созданием и оформлением в виде HTML пусть занимается CGI, ведь для этого он и создан.

Передать тесктовый поток, да и любой другой, можно разными способами, если спланировать исполнение и CGI и внешнего приложения на одной машине, то можно довольствоватся посылкой/приемомо сообщений (SendMessage), или использовать memory mapped file, в идеальном случае конечно я советовал бы написать сервер обработки и получения информации и в таком случае CGI приложение вполне могло бы общатся с этим сервером по протоколу TCP.

Множество обращений из CGI в сервер приложения (лучше обозначить это так), решается уже разработкой протокола общения между ними, собственно ничего сложного нет, нужно лишь для каждой сессии создавать уникальный идентификатор и в соответсвии с ним работать.


 
NewD   (2003-10-21 12:00) [4]

Вроде нашел как это сделать с ASP - выглядит так:создаешь ASP с которым связываешь страницу из которой передаются данные
в нем описываешь страницу типа "Подождите пожалуйста",
а потом прописываешь событие onload() и в нем делаешь передачу данных из главной формы.


 
Palladin ©   (2003-10-21 14:31) [5]

ASP это не CGI, у нее более ширкие возможности



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

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.114 c
6-98769
Andrew
2003-08-29 09:31
2003.10.30
FTP, получить список файлов с подкаталогами


4-98934
Alexander
2003-08-22 17:37
2003.10.30
Как можно из COM сервера - расширениз контекстного меню


4-98922
SH
2003-08-26 17:32
2003.10.30
Как определить, что окно свёрнуто?


1-98546
real_fatboy
2003-10-20 16:02
2003.10.30
Некоторые ограничения


6-98763
pendalf
2003-09-04 15:52
2003.10.30
Где можно найти исходник сканера безопасности?