const express = require('express'); const app = express(); const http = require('http'); const server = http.createServer(app); const { Server, Socket } = require('socket.io'); const io = new Server(server); const cors = require('cors'); const path = require('path'); app.use(cors()); var localstorage_session = ""; var users_sessions = []; app.use(express.static(path.join(__dirname, 'src'))); app.get('/', (req, res) => { /*req.secure ? next() : res.redirect('https://' + req.headers.host + req.url);*/ res.sendFile(__dirname + '/src/index.html'); /*res.write("

Prueba

"); */ }); app.post('/', (req, res) => { /*req.secure ? next() : res.redirect('https://' + req.headers.host + req.url);*/ res.sendFile(__dirname + '/src/index.html'); /*res.write("

Prueba

"); */ }); io.on('connection', (socket) =>{ socket.on('prueba', (msg) => { console.log('message: ', msg); }); socket.on("localstorage_login", function (data) { users_sessions.push({ CORREO_SESSION: data.CORREO, RFCEMPRESA_SESSION: data.RFCEMPRESA, TIMUSERENC_SESSION: data.TIMUSERENC, JWT_SESSION: data.jwt }); socket.emit('localstorage_login_error', { error: false, msj: "EXITO", response: {} }); }); socket.on("localstorage_update", function (data) { RFCEMPRESA_UPD = data.RFCEMPRESA; TIMUSERENC_UPD = data.TIMUSERENC; JWT_UPD = data.jwt; let filter_users = users_sessions.filter(element => element.JWT_SESSION == JWT_UPD && element.TIMUSERENC_SESSION == TIMUSERENC_UPD && element.RFCEMPRESA_SESSION == RFCEMPRESA_UPD); if (filter_users.length == 0) { console.log("HUBO UN CAMBIO"); socket.emit('localstorage_error', { error: true, msj: "Se detectó un cambio en el localstorage o hay más ventanas abiertas", response: {} }); }else{ socket.emit('localstorage_error', { error: false, msj: "EXITO", response: {} } ); } }); socket.on("localstorage_logout", function (data) { let index = users_sessions.findIndex( element => element.JWT_SESSION == data.JWT); users_sessions.splice(index, 1); }); }); server.listen(4444, () => { console.log('listening on *:4444'); });