212 похожих чатов

Привет, народ, вы обычно чаты реализуете с помощью WebSocket только

для нотификаций на клиент (новое сообщение, сообщение прочитано и т.п.) об изменениях на сервере, а для отправки сообщений, прочитывания со своей стороны (то, что изменяет данные на сервере) REST или для этих действий тоже WS? В чем плюс, в чем минус того и того? Спасибо.

3 ответов

13 просмотров

в теории HTTP 2 и 3 поддерживает двунаправленный стриминг данных

Блья ✖️➕➖➗
в теории HTTP 2 и 3 поддерживает двунаправленный с...

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

Есть оч простая штука - деплои. Представим себе мега примитивный кейс. Мол вот у нас есть сервер который держит коннекты юзеров обрабатывает сообщения на вход и на выход и тип все в одном. И например ты выкатываешь новую версию. В этом случае тебе надо как-то предусмотреть как избежать большого количества реконнектов одновременно. Решаемо но сложно. Можно вставить проксю которая будет держать коннекты и транслировать это все в сообщения другим штукам. Так вроде слэк делал что бы пыху всякое отправлять. Есть готовые такие вот websocket reverse proxy. Так редеплой не ломает коннекты и прокси эти куда реже меняются и их проще скейлить Есть ещё нюансы подтверждения доставки. Она точно нужна для отправки с клиента и не всегда нужна для получения (мол можно держать историю сообщений и пусть клиент курсор держит). Есть ещё нюансы что SSE в силу того что он однонаправленный типа должен лучше мобилкам батарейку держать но там есть куча ограничений (тип не больше 6-ти коннектов на клиент или чет такое, только UTF-8 и только текстовые данные) Словом схема http на запись и ws/sse/long poling на обновления тупо хорошо ложится на возможность взять готовой инфраструктуры и склеить как тебе надо

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта