我是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) {..
如您所见,我想订阅两个频道,但是每个频道的返回值都不同。而且我没有运气找到任何解释如何实现的。我是否分别为每个频道创建了新事件,或者是否存在使用broadcastWith的技巧?
非常感谢
答案 0 :(得分: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)
];
}