从外界发送消息

在某些情况下,您可能希望从socket.io进程上下文之外向socket.io命名空间/房间中的socket发出事件。有几种方法可以解决这个问题,比如实现自己的通道来向流程发送消息。

为了方便这个用例,我们创建了两个模块:

通过实现Redis 适配器:

  1. const io= require('socket.io')(3000);
  2. const redis= require('socket.io-redis');
  3. io.adapter(redis({host:"localhost",port:6379}))

然后,您可以从任何其他进程向任何通道发送消息。

  1. const io=require('socket.io-emitter')({host:'127.0.0.1',port:6379});
  2. serInterval(()=>{
  3. io.emit('time',new Date())
  4. },5000)