Как стать автором
Обновить

Комментарии 10

Несмотря на чрезвычайно широкое распространение связки HTTP/2+SSE
Такое ли оно широкое?

Использовали и используем WebSockets на нескольких проектах. Два из них представляют из себя игры — карточная игра Ligretto и некий турнир с голосованием. Еще один — билетная система, похожая на те, что используются в кинотеатрах. Где пользователи, находящиеся в одном зале, видят действия других.

Проект с билетной системой был написан на Django, а Django, являясь синхронным фреймворком, WS из коробки не умеет. Поэтому использовали Channels, было довольно удобно работать с ws, но возникли проблемы на продакшене в связи с утечками памяти.

Проект с турниром был написан aiohttp (python), там работа с ws устроенно несколько более «низкоуровнево», но в целом было довольно удобно, и проект выиграл в рамках двухдневного хакатона.

Остальные проекты написаны в связке express.js + react.js/vue.js + redux. Очень удобным оказалось «кидать экшены» прямо с сервера.

Я люблю тебя, Хабр! Я люблю тебя, автор этой статьи! И тебя, переводчик, тоже люблю! Это именно то, что я искал. Мне как раз нужно было что-то между WS и LP и этим оказался SSE, о котором до этой статьи я абсолютно ничего не знал. Иногда мне кажется, что Хабр читает мои мысли. Потому что это уже не первый случай, когда выходит именно такая статья, которая мне нужна. Еще раз, спасибо большое!

Используем WS для проприетарного протокола типа xterm.
Ещё одна используемая в подобной ситуации техника — это Flash

Не понял, почему вы это называете Flash? По ссылке — обычные TCP сокеты.

Потому что "обычные TCP сокеты" скриптам не доступны, и чтобы получить доступ нужен плагин к браузеру. Например, Flash Player — как наиболее распространенный.

Я смотрю на картинку https://hsto.org/getpro/habr/post_images/408/8fd/67a/4088fd67aabf54b9ce4fc1d49e13e20c.png — то что мы видим в этой статье, и вижу мыло и нечитаемый текст. Оригинальная картинка — https://cdn-images-1.medium.com/max/1600/1*C1VWSKOx89vqdiSiflDRJw.png — имеет размер в два раза больше по ширине и высоте и на 8 килобайт меньше по размеру файла. Вопрос. Зачем при переводе было сделано такое ухудшение качества картинки при увеличении её размеров?


И так со всеми изображениями.

На всякий — Since WebSocket is a different protocol for delivering data, it’s not automatically multiplexed over HTTP/2 connections (it doesn’t really run on top of HTTP at all), есть драфт чтобы так сделать, но из коробки — вебсокеты не поддерживают мультиплексирование.
отдельно — «если TCP-пакеты прибывают в произвольном порядке» — TCP guarantees delivery of data and also guarantees that packets will be delivered in the same order in which they were sent (туть). Может это было про то, что вебсокет-пакеты могут приходить как угодно? Но это не к TCP претензия)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий