2014-11-04 1 views
3

nodejs 클러스터와 함께 nodejs - socket.io 응용 프로그램을 빌드 중입니다.nodejs cluster - socket.io-emitter는 특정 클라이언트에 데이터를 전송합니다.

socket.io - 레디 스

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'); 

의 작동하지만, 연결된 모든 소켓에 전송. 객실 유형을 사용하지 않고 특정 고객을 어떻게 선택할 수 있습니까? like,

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

socket.io 클러스터 응용 프로그램에서 특정 클라이언트를 선택하는 데 어떤 아이디어가 있습니까?

답변

0

이 시도 :

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