I implemented one to one chat , and while sending message i publish message in controller as
$redis->publish('message', json_encode($data));
Now in server.js i subscribe message for each connection. and i send that message to particular user by selecting specific socket from pool. My issue is that my each message send to receiver multiple times equal to number of connection. my code in server.js is
io.on('connection', function (socket)
{
clients[socket.id] = socket;
var redisClient = redis.createClient();
redisClient.subscribe('message');
redisClient.on("message", function(channel, message)
{
var data = JSON.parse(message);
console.info("sent");
if(typeof connectedClients[data['receiver']] === 'undefined'){}
else
{
connectedClients[data['receiver']].socket.emit(channel, message);
}
});
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire