【问题标题】:remoteDisconnect socket.io and redisremoteDisconnect socket.io 和 redis
【发布时间】:2017-09-15 12:59:10
【问题描述】:

我正在尝试在 NodeJs 中实现 socket.ioRedis adapter

大多数情况下它可以工作,但有时我在尝试断开/连接套接字时仍然会出错,所以我认为我没有正确实现它。

谁能解释一下两者的区别 socket.disconnect();io.of('/').adapter.remoteDisconnect();

如果我用以下方式初始化我的 io:

io.adapter(redisIO({
   host: config.server.redis.host,
   port: config.server.redis.port,
   requestsTimeout: config.server.redis.request_timeout
}));

那么socket.disconnect();不应该注意使用redisIO吗?如果使用remoteDisconnect,我仍然可以捕获socket.on('disconnect', fn) 还是应该在socket.on('disconnect', fn) 中调用remoteDisconnect

如果客户端断开连接会发生什么?如何将其传播到 socket.io 集群?

任何工作示例将不胜感激:)

谢谢!

【问题讨论】:

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


    【解决方案1】:

    捕获套接字事件disconnecting,而不是disconnect,到那时就太晚了!

    socket.on('disconnecting', () => {
      var room_name = sess.id
      io.of('/').adapter.remoteDisconnect(room_name, true, err => {
         delete socket.rooms[room_name]
         socket.removeAllListeners()
      })
    })
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 2016-05-25
      • 2012-11-09
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      相关资源
      最近更新 更多