Задать вопрос
BostonGeorge
@BostonGeorge
Айтишник и юрист

Как правильно организовать веб сокеты для чата?

Работаю над чатом с группами (Laravel + Next.js) и сейчас занимаюсь веб-сокетами (Laravel Reverb). Каждый элемент чат-группы в моем приложении содержит последнее сообщение и индивидуальное для каждого пользователя (члена группы) количество непрочитанных сообщений (как в Telegram). Когда пользователь добавляет сообщение в чат, я хочу отправить веб-сокет всем участникам этого чата.

Вижу два способа организации веб-сокетов:

1. Отправлять одно и то же событие (например, «chat_updated») без каких-либо дополнительных данных на канал, связанный с группой чата. При получении этого события участник чата будет запрашивать метод API, который возвращает информацию о чате с последним сообщением и количество непрочитанных сообщений для текущего пользователя.

2. Отправлять событие «chat_updated» отдельно для каждого пользователя-участника группы (на канал этого пользователя) сразу с индивидуальными дополнительными данными, содержащими информацию о чате с последним сообщением и количеством непрочитанных сообщений для этого пользователя. В этом случае я думаю, мне нужно понять на бэкэнде, кто находится в сети и отправлять событие только для них?

Посоветуйте пожалуйста, какой вариант (а может другой) более оптимален в моем случае.
  • Вопрос задан
  • 1761 просмотр
Подписаться 4 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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