Форум: "Сети";
Поиск по всему сайту: 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.024 c
6-80633           and_or                2002-01-09 20:26  2002.03.25  
ping & tracertМожнping & tracert


1-80613           Art1                  2002-03-11 14:19  2002.03.25  
Как узнать версию установленного Excel?


1-80618           hooky-mars            2002-03-08 19:36  2002.03.25  
DBNavigator


1-80550           greenrul              2002-03-09 20:33  2002.03.25  
EAcess violation at FFFFFFF7 при вызове процедурки -


1-80490           BlankAlex             2002-03-12 10:43  2002.03.25  
Обработка OnUpdateError