Кластер nodejs - socket.io-emitter отправляет данные конкретному клиенту

Я строю приложение nodejs - socket.io с кластером nodejs.

Socket.io-Redis

var ioredis = require('socket.io-redis');
io.adapter(ioredis({ host: config.redisIp, port: config.redisPort }));

socket.io-эмиттер

var io = require('socket.io-emitter')({ host: settings.redisIp, port: settings.redisPort });
io.emit('test', 'test'); 

это работает, но, отправка на все подключенные сокеты. Как я могу выбрать конкретного клиента, не используя типы номеров. лайк,

io.to({_id: user._id}).emit('test', 'test'); //its not work. socket._id synchronized on connect event.

Любая идея для выбора конкретного клиента в кластерном приложении socket.io?

1 ответ

Попробуй это:

var io = require('socket.io-emitter')({ host: settings.redisIp, port: settings.redisPort });
io.to(socketId).emit('test', 'test');
Другие вопросы по тегам