Comet

Vitaly Puzrin vitaly at rcdesign.ru
Mon Jun 11 10:51:57 MSD 2007


>> AT> Т.е. сама идея мультиплексора, от backend один поток, а к юзерам - много,
>> AT> мне кажется неплохой, но что с ней делать в "общем виде" - не понимаю.
>> 
>> Если про чат говорить, то там каждое сообщение имеет свой номер (или
>> метку времени).

AT> Да это все понятно. Но у потока есть еще заголовок, всякие <script src>,
AT> да и пилить его по байтам плохо, нужно по целым сообщениям.

Тут мы в тонкости реализации впадаем. Честно говоря, не помню, как
именно браузер обрабатывает непрерывные потоки. Вроде, если в JS
оборачивать, то оно автоматом напилится, потому что при завершении
очередной обертки JS автоматически выполнится. Добавит, например, еще
1 структуру в массив. Если грузить без оберток, не как страницу, а как
данные - не изучал.

>> Держать буфер под новичков на сервере, с моей точки зрения - лишнее
>> усложнение.
AT> В любом случае, нужно буферизовать на уровне отдельных сообщений - 
AT> если мы все еще про чат. Или каких-то других логических кусков,
AT> если про другое (условно говоря, видео нужно отдавать с целого кадра,
AT> а не с инкрементов)

Сообщения в базе хранятся. Буферирование - проблемы скрипта, это
comet-модуль вроде бы не затрагивает.

Может я что-то не так понял, тогда уточните пожалуйста. В принципе,
чаты - штука простая (если на них несколько лет угробить :). Меня вот
интересует, что еще можно кометом сделать, чтобы смысл был. По http
кроме чатов/мессенджеров ничего в голову не приходит. Вот с демонами
для других протоколов было бы повозиться гораздо интереснее, но не знаю,
впишется ли такое в концепцию nginx-а. Конкретно меня очень интересует
NNTP.






More information about the nginx-ru mailing list