const models = require('../models/models.js');
const path = require('path');
let user = false;
module.exports = function (app,passport,io, req, res) {
let users={};
let keys={};
io.on('connection', function(socket){
user = req.user;
console.log('Пользователь ' + user.email + ' подключился!');
users[user.email] = socket.id;
keys[socket.id] = user.email;
//Отлючение пользователя
socket.on('disconnect', function(){
console.log('Отлючение ' + user.email);
delete users[keys[socket.id]];
delete keys[socket.id];
});
});
};
То есть при открытии страницы я вижу в консоли:
Пользователь user подключился!
При обновлении страницы:
Отключение user
Пользователь user подключился!
Пользователь user подключился!
При повторном обновлении 2 отключения, 3 подключения,
потом 3 отключения 4 подключения. и тд
Контроллер в котором у меня io.connect я подключил так:
app.get('/chat', isLoggedIn, function(req, res) {
require('./controller/controller.js')(app,passport,io, req, res);
res.render('chat.ejs');
});
Почему после перезагрузки страницы socket.io вызывает connect callback несколько раз?
Вот тоже самое. Но ответа там нет