dtjpnd7517 2015-10-05 08:14
浏览 104

Redis发布和订阅不处理动态密钥

my requirement is to publish message for specific user.

Controller

$messageQueueKey=(string)$receiver; (receiver_id)
$redis->publish($messageQueueKey, json_encode($data));

Server.js //Node js

  var handshakeData = socket.request;
  var messageQueueKey=handshakeData._query['userid'];

  clients[socket.id] = socket;

  var redisClient = redis.createClient();
  redisClient.subscribe(messageQueueKey);
 // redisClient.subscribe('message');

  redisClient.on('message', function(channel, message)
  {
      var data = JSON.parse(message);
      if(typeof connectedClients[data['receiver']] === 'undefined'){}
      else
      {
        connectedClients[data['receiver']].socket.emit(channel, message);  
      } 
  });

However my code works for hard coded key 'message' but receivers receives multiple messages that is why i want to publish and subscribe each user on different keys based on their auth id

  • 写回答

1条回答 默认 最新

  • douyanyan1123 2015-10-06 11:50
    关注

    That's fine! if the user is receiving multiple message you can ignore the one :P

    评论

报告相同问题?

悬赏问题

  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。
  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了