我不清楚如何使用socket.io-emitter(服务器到服务器)

时间:2018-01-08 08:59:42

标签: socket.io socket.io-1.0 socket.io-redis

下面是我初始化和发射的方式,但我没有发现任何错误,我的服务器也没有收听,接收任何事件。

const io = require('socket.io-emitter')({
  host: 127.0.0.1,
  // path: do i need this ?
  port: redisUri.port,
  pub: pub, // is the key required to be the same as the app ?
  sub: sub, // is the key required to be the same as the app ?
});

io.emit('test', 'test'})

我尝试了很多变化,有人可以启发我如何调试这个?

我试图在对象之前添加一个redis href。

1 个答案:

答案 0 :(得分:0)

我发现了错误,

问题在于pub和子套接字

这是解决方案:

var pub = redisPassword ? redis.createClient(6379, localhost, {return_buffers: true, auth_pass: redisPassword}) : undefined;
var sub = redisPassword ? redis.createClient(6379, localhost, {detect_buffers: true, return_buffers: true, auth_pass: redisPassword}) : undefined;

socketio.adapter(require('socket.io-redis')({host:localhost,port:6379,pubClient:pub,subClient:sub}));

这就是问题所在:

而不是在未定义的密码检查中,我创建了另一个客户端,更容易将其设置为默认值。如果我可以改进我的代码,请告诉我。谢谢。