nodejs cluster - socket.io-emitter将数据发送到特定客户端

时间:2014-11-04 14:11:39

标签: node.js socket.io cluster-computing socket.io-redis

我正在使用nodejs cluster构建nodejs - socket.io应用程序。

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 个答案:

答案 0 :(得分:1)

试试这个:

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