我在服务器端(和客户端)使用socket.io。
我想要做的是在断开连接时触发事件。但它似乎没有在当地获得。
在节点服务器中我有:
sock.on('chat:leave', function(user){
//delete user from chat room list
});
sock.on('disconnect', function(){
var user = sock.user;
sock.emit('chat:leave', user);
});
但是这不起作用 - 当我关闭浏览器窗口时会断开连接,但是chat:leave
处理程序发出的disconnect
未被sock.on('chat:leave')
处理程序拾取
答案 0 :(得分:2)
我认为您需要重写代码(AFAIK,您尝试做的事情是不可能的):
var userLeft = function(user) {
// delete user from chat room list
};
sock.on('chat:leave', userLeft);
sock.on('disconnect', function() {
userLeft(sock.user);
});