Главная страница


ru.website

 
 - RU.WEBSITE -------------------------------------------------------------------
 From : Arkhipov Dmitriy                     2:5020/400     25 Nov 2001  14:24:32
 To : Rostislav Podgornyi
 Subject : Re: чат
 -------------------------------------------------------------------------------- 
 
 
   День добрый, Rostislav Podgornyi!
   
 RP>   У меня там окно обновляется пpостым pефpешем.
 RP>   А как сделать, чтобы оно не мигало всё вpемя, а пpосто новые стpочки
 RP> добавлялись? Hапpимеp как на http://bizarre.kiev.ua/
 
   Hужно использовать поточный HTML.
 
 В книжке "PHP4 Разработка Web-приложений" мельком упоминается:
 
 -- 8< ---------------------------------------------------------------------
 
 ...Эта технология никем не поддерживается официально, но тем не менее
  прекрасно работает. Сценарий интерфейсного вывода находится в ожидании
 в бесконечном цикле и не заканчивает передачу HTML-страницы, которую
 получает броузер. Информация, которую надо послать пользователю,
 выводится на экран и немедленно удаляется из буфера сервера.
 Таким образом, броузер при этом постоянно работает на вывод
 обновляемой информации и всегда выводит самые последние данные.
 Однако такой подход влечет за собой одну проблему ч сложные
 объекты HTML при этом невозможно интерпретировать в процессе
 работы, Ина летуК. Hапример, строки таблицы нельзя выводить
 по одной, потому что броузер должен получить все строки и
 столбцы таблицы, чтобы определить ее окончательный размер.
 Все хорошо работает, пока вы ограничиваетесь последовательным
 выводом текстовых строк и используете таблицы, которые можно вывести
 на экран сразу.
 
 Поточный HTML обладает одним свойством, которое можно считать
 и достоинством, и недостатком: поскольку соединение с клиентом
 остается открытым, постоянно должен существовать процесс сервера,
 который его обрабатывает. Это означает, что каждый клиент требует,
 чтобы, по крайней мере, один процесс сервера работал только с ним.
 Преимущество такого подхода заключается в том, что не нужно
 поддерживать никаких данных, связанных с конкретным обращением,
 то есть сеансом работы пользователя с данной страницей. Обычно,
 когда клиент запрашивает документ, должен порождаться новый процесс;
 необходимо загрузить, проанализировать и выполнить сценарий,
 генерирующий документ. Поскольку при использовании поточного HTML
 процесс сервера постоянно остается в памяти, загрузка сценария и
 его интерпретация должны осуществляться для каждого клиента только
 один раз. Для сайтов, которые в противном случае обрабатывали бы
 сотни обращений в секунду, это несомненное преимущество. Однако
 при этом каждый процесс остается в памяти резидентным и ему
 требуется оперативная память...
 
 =======================================
 
 А реализация на PHP:
 
 for ($i=0;$i<=100;$i++)
 {
   echo "Line $i<br>\n";
   flush();
   sleep(5);
 }
 
 --------------------------------------------------------------------- >8 --
 
   С уважением,
   Архипов Дмитрий.
 -- 
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: SMTU (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 чат   Rostislav Podgornyi   17 Nov 2001 18:04:29 
 Re: чат   Arkhipov Dmitriy   25 Nov 2001 14:24:32 
Архивное /ru.website/214843ef0861.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional