ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: Comet



Клиент не может увидеть первый кусок со случайного байта. Только с
аккуратно отпиленного и отшлифованного края :) . Бакенд отдает данные
законченными пакетами. То есть, новый клиент может начать получать
информацию с последнего пакета, но этот пакет байтов будет обязательно
целостным.

А вот насчет "не успеет выгребать" - как-то я подзабыл. Но мысль
делать маркирование, буферирование и скипанье на уровне nginx мне
почему-то не нравится. По-моему, было бы красивше спрашивать по
служебному каналу количество пакетов в очереди, и если глобальный
затор - переподключаться. Это реализуется на уровне JS. Я плохо
понимаю, как вы скипанье реализуете на уровне модуля, сохранив при
этом универсальность.

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

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

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

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

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

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

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

AT> Alex





 




Copyright © Lexa Software, 1996-2009.