当有人断线时,我想通知房间里的其他客户。
这是我的代码:
socket.on('disconnect', function(){
var user = authedUsers[socket.id];
socket.broadcast.to(user.room).emit('message', {user: user, message: user.display_name + ' has been disconnected.'});
});
但是我收到了这个错误:
RangeError: Maximum call stack size exceeded
npm ERR! weird error 8
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
npm ERR! not ok code 0
答案 0 :(得分:0)
错误是当调用事件断开连接时,套接字已经关闭。
因此,当您调用有缺陷的行时,它会搜索以封闭的套接字发送,并且由于某种原因最终导致调用堆栈溢出。
您应该在断开套接字之前发送deconnection消息:)