当我的节点应用程序从命令行重新启动或者由forever.js重新启动时(如果检测到更改),则socket.io'断开'事件未被解雇。 我的代码如下:
io.sockets.on('connection', function(socket) {
var session = socket.handshake.session;
socket.join('room');
socket.on('disconnect', function() {
var clients = io.sockets.clients('room');
if (!clients || (clients && clients.length === 0)) {
//remove from online list
}
});
socket.on('error', function(err) {
if(err === 'handshake error') { console.log('handshake error', err); }
else { console.log('io error', err); }
});
socket.on('message', function(data) {
//console.log('messege received on server is "' + data + '"');
});
});
启动node.js应用程序时,我的socket.on('disconnect')
没有触发。
任何猜测,为什么它没有发生/解雇?