3

我正在使用 nodejs 集群构建 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 集群应用程序上选择特定客户端的任何想法?

4

1 回答 1

1

尝试这个:

var io = require('socket.io-emitter')({ host: settings.redisIp, port: settings.redisPort });
io.to(socketId).emit('test', 'test');
于 2016-12-17T11:13:57.103 回答