通过Socket.IO将Redis接收数据发送到除发件人之外的所有客户端

时间:2014-05-09 17:13:35

标签: php node.js sockets express

我正在Laravel项目中进行实时通知。我安装了NodeJs,Redis服务器。但是我找不到,如何从Redis向所有套接字用户发送消息,除了发送者。 所以我如何做所有的事情(例如,当有人在帖子中添加评论时:

  1. 我已将所有事件监听器和其他内容混淆了
  2. 在控制器动作(CommentsController @ store)中,我调用Event :: fire(GlobalEventHandler :: EVENT,'User'.Auth :: user() - > username。'刚刚登录!');
  3. GlobalEventHandler与Redis连接并发送消息:“用户root刚刚登录!”
  4. 在server.js(NodeJS服务器)中,处理redis数据
  5. 那我需要什么? - 我需要向所有套接字客户端发送消息,发件人除外。 类似于:laravel向redis发送消息 - > redis和/或socket.io将数据发送给除发件人之外的所有用户。

    我的server.js文件:

    const io          = require('socket.io').listen(8080, 'localhost');
    const redis       = require('redis');
    const redisClient = redis.createClient();
    
    redisClient.subscribe('user.action');
    
    redisClient.on('message', function(channel, data) 
    {
    
        socket.broadcast.emit(channel, data);
    
    });
    

    但是socket没有定义..如何从Redis正确获取数据并向客户端发送响应? - >发件人除外

0 个答案:

没有答案