Форум: "Сети";
Поиск по всему сайту: 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.71 MB
Время: 0.023 c
1-80484           Alexandr              2002-03-12 15:05  2002.03.25  
Парсинг


14-80654          |\/\/ \/\/ \/\/|      2002-02-03 05:34  2002.03.25  
Два вопроса!


6-80638           rooky in Delphi       2002-01-09 21:00  2002.03.25  
IP->HostName->UserName


3-80443           prorok                2002-02-27 13:51  2002.03.25  
Индексирование


4-80717           Dimich                2002-01-25 14:32  2002.03.25  
Как можно получить текущую раскладку клавы