私の要件は、特定のユーザーにメッセージを公開することです。
コントローラ
$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);
}
});
ただし、私のコードはハードコードされたキー「メッセージ」に対して機能しますが、受信者は複数のメッセージを受信するため、認証IDに基づいて異なるキーで各ユーザーを公開および購読したいのです