ПРОЕКТЫ 


  АРХИВ 


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



Может я не так выразился? О TCP-пакетах речи вообще не было. Данные
представляют собой stream. Над транспортом я не задумывался. Под
пакетами понимал целостные блоки информации. Имел в виду, что когда
клиент подключается к stream-у, есть возможность выдавать данные не с
произвольного байта, а округлять до ближайшего логического блока.
Логическим блоком, естественно, считал то, что выдаст бакенд при
отработке FCGI-скрипта. Какая разница, как данные побьются по пути,
если в конце обратно соберутся, а браузер начнет интерпретировать при
получении законченной конструкции <script>...</script>?

Насчет управления из php пакетированием тоже не понял. Для NNTP вроде
изысков не требовалось. Там простые байтовые потоки. Но демонология не
является моей сильной стороной. Если протокол NNTP слишком узкая задача, и
такое больше нигде не нужно - не вопрос.

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

AT> Два с половиной вопроса:
AT>  1) вот допустим, ответ не влез в пакет, а влез в два. Во втором - хвостик.
AT>    Является ли второй пакет целостным entity ?
AT>  1a) раз уж хочется "писать демоны на php", то подскажи как из php
AT>     управлять пакетированием....

AT>  2) Если backend на unix socket, то как быть с пакетами ?

AT> Я к тому, что не надо сюда тащить особенности транспортного уровня,
AT> такие как пакеты ( а если по дороге оказалось фрагментирование?), 
AT> атомарности write() и подобное. Закладываться на такое - глупо,
AT> а то оно начнет ломаться при переходе на jumbo frames и обратно

AT> (представим, кстати, себе backend, а за ним цепочку мультиплексоров. 
AT> backend - на гигабите с jumbo, а дальше MTU 1500. Где будет граница 
пакетов?)

AT> В то же время, для доставки stream content (допустим, клиент свой)
AT> мультиплексирование кажется интересной идеей. 

AT> Алексей Тутубалин
AT> mailto: lexa@xxxxxxx
AT> Web: http://www.lexa.ru/lexa 




 




Copyright © Lexa Software, 1996-2009.