Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Вниз

Небуферизованный вывод 


Дмитрий   (2002-01-09 21:20) [0]

Пусть есть перловый cgi с отключенной буферизацией ($| = 1), который в бесконечном цикле с периодом X секунд выводит данные клиенту, то есть в клиенту в течение всего сеанса данные дописываются в броузер (push - технология, так пишутся некоторые чаты). Каким макаром и из чего можно сделать клиента, который понимает, что соединение не закрыто? Пока что мне понятно только то, что надо как-то использовать потоки, поскольку Indy-компоненты на методе GET просто зависают, то есть ожидают окончания вывода :) ; надо бы получать по порциям вывод и писать его в какой-нибудь Memo. Заранее благодарен :)



Wonder   (2002-01-09 21:38) [1]

"так пишутся некоторые чаты"
Так это проблема клиента. Клиент с периодичностью, заданной сервером, начинает опрос сервера. Сервер по запросу клиента посылает данные. Либо обновленные, либо прежние.
Главное, что сервер в любом случае посылает данные.



Дмитрий   (2002-01-09 22:39) [2]

Ладно, пример
print "Content-Type: text/html\n\n";
print "<html><body><h1>Start</h1>";
$| = 1;
while (1) {
print "Continue<br>";
sleep(5);
}

# цикл и вывод продолжается, пока клиент не закроет броузер. В броузере каждые 5 сек. будет появляться новая строка. Проблема в том, чтобы сделать аналог.




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.017 c
3-80419           Rustik                2002-02-26 16:15  2002.03.25  
Проблема при построении репорта в Fastreporte


1-80628           SkyR                  2002-03-07 02:02  2002.03.25  
Такой вопросик Drag&Drop...


6-80653           антонио               2002-01-07 20:26  2002.03.25  
Отключение


3-80390           Malder                2002-02-20 21:25  2002.03.25  
Как управлять записями пользователей в Firebrid


1-80625           kronos                2002-03-11 02:30  2002.03.25  
Помогите!!!