Как оповещать остальных пользователей о событии?

Делаю рулетку.
Юзер делает ставку, данные отправляются на сервер и ставка добавляется в игру. Каким образом можно оповестить остальных юзеров о новой ставке? Нужно ли для этого разворачивать сокет сервер или можно обойтись средствами Laravel и Vue. Все происходит без перезагрузки страницы.
  • Вопрос задан
  • 314 просмотров
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Websockets все-равно использовать если нужен near-realtime) Это можно сделать на ларе
Ответ написан
Комментировать
Razgelday
@Razgelday
В Laravel есть встроенный функционал для использования WebSocket подписок на событий - называется "Broadcasting" (https://laravel.com/docs/master/broadcasting)

Общий смысл такой:

1. На бэкенде создаете событие, которое "вещает" через Pusher / Socket.io
// app/Events/NewBet.php

// ...

    public function broadcastOn()
    {
        return new PrivateChannel('casinoRoom.'.$this->room->id);
    }

// ...

2. На фронтенде используете встроенный пакет Laravel Echo, чтобы "слушать" это событие:
Echo.channel('casinoRoom.1')
    .listen('NewBet', (event) => {
        // Новая ставка сделана, можно получить ее данные из переменной event
    });
Ответ написан
Ваш ответ на вопрос

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

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