I have admin page with active users list. It works but when "userX" change to another page all clients are updated having no "userX" in active users list. Before 1 secound "userX" returns to active users list.
SERVER CONSOLE
UserX connected...
UserX disconnected... (UserX change to another page inside application)
Reason: transport close
UserX connected... (Because main layout force connection)
When "userX" change to another page nodejs fires socket.on('disconnect',function(){}) action. This causes Client disconnected... (UserX change to another page inside application) Reason: transport close
SERVER CODE
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(81, function () {
console.log('NodeJs listening on port:81');
});
io.on('connection', function (socket) {
console.log('New client connected...');
socket.on('disconnect', function (reason) {
console.log('Client disconnected...');
console.log('Reason: ' + reason);
});
});
PAGE CODE
<script type="text/javascript">
var socket = io(':81', {forceNew: true});
</script>
How to keep user connected between pages and fire disconnect only when browser get closed or user get logging out?