套接字不会重新连接到服务器上的命名空间/重新注册处理程序

时间:2018-04-11 22:04:38

标签: javascript node.js socket.io

我正在为我的服务器上的命名空间分配套接字,类似于:

let io = require('socket.io')(port, options)
io.of('/webClient').on('connection', socket => {
  socket.on('someEvent', () => console.log('do things!'));
});

但是,当我的客户端因任何原因重新连接时,他们没有进入'do things!'例如,当我取下套接字服务器时,我的客户端会尝试自动重新连接。但是,当它们重新连接时,它们将被重新添加到命名空间和适当的房间,但是由于'connection'事件未触发,因此未分配其处理程序。

认为我的客户正在维护某种阻止这些事件被发出的状态,我尝试使用socket.close()手动重新连接客户端,但重新连接时仍然出现同样的问题。

谁能告诉我这里我做错了什么?如果我的套接字服务器出现故障,我需要在返回的套接字上重新运行这些事件处理程序,以便我可以响应它们上的事件。但是如果我在命名空间中没有它们的句柄,那么如何捕获它们并识别它们呢?

0 个答案:

没有答案