Redis публикации и подписка не работает на динамических клавиш

Мое требование — опубликовать сообщение для конкретного пользователя.

контроллер

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

Server.js // Узел 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);
}
});

Однако мой код работает с жестко закодированным ключом «message», но получатели получают несколько сообщений, поэтому я хочу публиковать и подписывать каждого пользователя на разные ключи в зависимости от их идентификатора авторизации.

1

Решение

Все в порядке! если пользователь получает несколько сообщений, вы можете проигнорировать одно: P

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]