трансляция события Laravel и нескольких каналов - PullRequest
0 голосов
/ 16 декабря 2018

Я новичок в laravel, поэтому много гуглял для разных подходов, как создать websocket с redis, socket.io в фреймворке laravel.И, наконец, мой веб-сокет работает, как я ожидал.Однако у меня все еще есть оставшиеся без ответа вопросы, связанные с веб-сокетами.Не могли бы вы помочь мне найти ответ?

class TestEvent implements ShouldBroadcast это определение класса предполагает метод broadcastOn, который транслирует канал или каналы с данными для слушателей.Слушателем в моем случае является server.js

redis.subscribe('test-channel', 'test-channel-new');
redis.on('message', function (channel, message) {..

. Как видите, я хочу подписать два канала, но с разными возвращаемыми значениями для каждого канала.И мне не повезло найти какое-либо объяснение, как этого добиться.Я создал новое событие для каждого канала отдельно или есть какой-то трюк, использующий broadcastWith?

Большое спасибо

1 Ответ

0 голосов
/ 28 марта 2019

Это очень просто!просто вернуть массивы каналов в методе broadcastOn. Я только что сделал это: Пример:

public function broadcastOn()
{
    return [
        new PrivateChannel('App.Message.' . $this->message->to_user_id),
        new PrivateChannel('App.Message.'. $this->message->to_user_id .'.From.'. $this->message->from_user_id)
    ];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...