Php 通过Socket.IO将Redis接收到的数据发送到除发送方以外的所有客户端

Php 通过Socket.IO将Redis接收到的数据发送到除发送方以外的所有客户端,php,node.js,sockets,express,Php,Node.js,Sockets,Express,我在我的Laravel项目中进行实时通知。我安装了NodeJs,Redis服务器。但我找不到,如何从Redis向所有套接字用户发送消息,发送者除外。 那么我是如何做所有事情的(例如,当有人在帖子中添加评论时: 我已经证实了所有事件的听众和其他东西 控制器动作中(CommentsController@store)我调用Event::fire(GlobalEventHandler::Event,'User'。Auth::User()->username。'just logged!') GlobalE

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

  • 我已经证实了所有事件的听众和其他东西
  • 控制器动作中(CommentsController@store)我调用Event::fire(GlobalEventHandler::Event,'User'。Auth::User()->username。'just logged!')
  • GlobalEventHandler连接Redis并发送消息:“用户root刚刚登录!”
  • 在server.js(NodeJS服务器)中,处理redis数据
  • 那么我需要什么?-我需要向所有套接字客户端发送消息,除了发送方。 类似于:laravel将消息发送到redis->redis和/或socket.io将数据发送到除发送方之外的所有用户

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

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

    请更改标题以反映您的实际问题。我希望标题现在是正确的。:)p.对不起,我的英语不好。这样更好,这只是为了更具体一些,以便我们在滚动问题列表时大致了解您的问题所在。好的,我以后会知道的!:)