当前位置:  开发笔记 > 编程语言 > 正文

广播laravel事件和多个频道

如何解决《广播laravel事件和多个频道》经验,为你挑选了1个好方法。

我是laravel的新手,所以我在google上搜索了很多方法,以了解如何在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) {..

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

非常感谢



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

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有