metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-24 09:22 pm

WebSockets - почто стояли на майдане?

ссылка

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

Только вот представьте себе, что счас вся серверная и прочая инфраструктура заточена под, условно говоря, "короткий запрос-короткий ответ". Я уже несколько раз сталкивался с кривонастроенными сетями у клиентов, где долговисящие запросы просто обрывались где-то в середине сети. При этом обычные всякие почты, вебы и говноторенты в таких условиях работают более менее нормально. А вот если запросу в целях работы нужно висеть установленному - жопа и смерть, 5-10 минут неактивности и гамон.

Там по ссылке где нибудь упоминается обработка ошибок? Или keep-alive пакеты на уровне протокола? Ах, да, я забыл, в гугле не бывает зависающего сетевого оборудования, сдохших свитчей и неправильно настроенных прокси, натов и файрволлов, поэтому обработкой ошибок никто не заморачивается. "У нас на столе все работает".

Надеюсь, гугол это протолкнет в мейнстрим и начнется еще лет десять ебосрани для всех ИТшников, сисадминов, к которым будет приходит руководство и требовать чтобы "у меня веб-приложение должно работать" и веб-разработчиков, которым придется выламывать себе мозг, делая нормальную обработку ошибок с помощью костылей и хаков.

[identity profile] blacklion.livejournal.com 2009-12-25 08:25 am (UTC)(link)
И это хорошо, а то они со своими stateless короткоживущими запросами малость разленились :)
На мой вкус, надо максимально упрощать, делать bullet proof. А тут — разработчикам приложений, конечно, упростили. А вот разработчикам плафтормы, вплоть до ядра OS, раутеров и так далее… Ууууу…

И, да, передача строк в таком формате…

[identity profile] metaclass.livejournal.com 2009-12-25 08:38 am (UTC)(link)
Формат идеально вырвет мозг всем функциям, где EOF (-1) приводится к одному байту и где 0 используется как маркер конца строки.

[identity profile] blacklion.livejournal.com 2009-12-25 08:47 am (UTC)(link)
Ну что им стоило не эеономить на байтах длины в том же стиле, что для бинарщины? Для средних строчек были бы те же 2 байта оверхеда на строку (признак строки + длина до 127 байтов), для разумных строк — на байт больше…

[identity profile] dmzlj.livejournal.com 2009-12-25 08:48 am (UTC)(link)
это вообще прекрасно. надеюсь, все кто придумал ноль-терминированные строки, и те, кто этому попустительствовал --- будут СТРАДАТЬ.

[identity profile] metaclass.livejournal.com 2009-12-25 08:51 am (UTC)(link)
Да, я тоже на это очень надеюсь. Что наконец-то это abomination будет изведено :)

Ггм.. с больной головы на здоровую?

[identity profile] a-sure.livejournal.com 2009-12-25 12:48 pm (UTC)(link)
ЕМНИП, ноль-терминированные строки поддерживались некоторыми ЦПУ "от дизель-електро-крана". И язык программирования это использовал.

Вопрос - куда смотрели те, кто это портировал на другие архитектуры. И сознательно они пошли или проскочили не глядя.