Comet

Alex Tutubalin lexa at lexa.ru
Mon Jun 11 14:07:39 MSD 2007


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

Если клиент может увидеть поток со случайного байта, то первый кусок
в лучшем случае будет синтаксически некорректным, а в худшем - испортит
визуализацию/JS-интерпретатор/еще какую фигню.

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

Более того, если клиент не успевает выгребать, ему нужно скипать целыми
кусками.

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

http - это транспорт. В него можно много интересного завернуть. 

Кстати, если я правильно помню это дао, из ЖЖ можно (было) брать полный
поток постов в реалтайме (и еще оно временами говорило, сколько не
сумел выбрать :)

Alex






More information about the nginx-ru mailing list