未捕获范围错误:超出最大调用堆栈大小 - socket.io



当超过 1 人具有活动的 websocket 连接时,我会收到此错误。

在io.on('connection'(中,我有io.on('disconnect'(:

socket.on('disconnect', function(m) {
var address = socket.client.request.headers['x-forwarded-for'] || socket.request.connection.remoteAddress;
if(usersOnline[address])
{
delete usersOnline[address];
}
io.sockets.emit('message', {
type: 'connections',
total: Object.keys(usersOnline).length
});
});

我正在调用 connect(( 函数,当文档准备就绪时,该函数中有 emit('disconnect'(:

$(document).ready(function() {
connect();

connect(( 函数中的断开连接处理程序:

SOCKET.on('disconnect', function(m) {
SOCKET.emit('disconnect', {
hash: hash
});
});

删除处理程序(或 on('断开连接'((时,我得到"Websocket 在建立连接之前已关闭......

我该怎么做才能解决这个问题?我已经研究了一个多星期了,到目前为止,其他关于类似问题的 Stackoverflow 帖子都没有帮助。

通过将socket.io 更新到2.0解决了该问题...

脸掌

最新更新