【问题标题】:broadcasting laravel event and multiple channels广播 laravel 事件和多个频道
【发布时间】:2019-05-16 19:08:48
【问题描述】:

我是 laravel 的新手,所以我在谷歌上搜索了很多关于如何在 laravel 框架中使用 redis、socket.io 创建 websocket 的不同方法。 最后我的 websocket 按我的预期工作。但是我仍然有与 websockets 相关的未解决的问题。 你能帮我找到答案吗?

class TestEvent implements ShouldBroadcast 此类定义需要使用 broadcastOn 方法向侦听器广播一个或多个带有数据的通道。我的案例中的侦听器是server.js

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

如您所见,我想订阅两个频道,但每个频道的返回值不同。而且我没有运气找到任何解释它是如何实现的。我是否分别为每个频道创建了新事件,或者存在使用广播的一些技巧?

非常感谢

【问题讨论】:

    标签: laravel redis socket.io


    【解决方案1】:

    这很容易!只需在 broadcastOn 方法中返回 Channels 数组 我只是这样做了: 示例:

    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)
        ];
    }
    

    【讨论】:

      猜你喜欢
      • 2021-04-17
      • 1970-01-01
      • 2017-10-20
      • 2016-06-12
      • 2017-05-04
      • 2020-08-25
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多