How can I persist the id of a session in when I change the html file?


I am developing an exercise with where I communicate to several users depending on the room they are in, but when I write the name and save it with the id that generates By default when you change from one page to another, you lose that session and create a new one.

How can I persist that session?

The server code:

// Importando Dependencias 
const express = require('express')
const path = require('path')
const SocketIO = require('')

// Usando Dependencias
const app = express()

// Configurando el servidor 
app.set('port', process.env.PORT || 3000)

// Enviamos archivos estaticos al servidor
app.use(express.static(path.join(__dirname, 'public')))

// Iniciamos el servidor
const server = app.listen(app.get('port'), ()=>{
console.log('Servidor Iniciado en el puerto ${app.get('port')}')

// Inicializar
const io = SocketIO(server)

// WebSockets
io.on('connect', (socket)=>{
console.log('Nueva conexion',
// Establecemos un solo socket por room por medio de su id
let currentRoom = 'default'

// Creamos la funcion para cambiar de rooms 
const moveToRoom = (newRoom)=>{
    currentRoom = newRoom
    socket.emit('message', {
        content:'Has cambiado al grupo numero ${newRoom}'
socket.on('moveToRoom', moveToRoom )

// Creamos la funcion para recibir el nombre del estudiante
const onReciveStudent = (student)=>{
    socket.emit('student', {,
    console.log('Estudiante : ${student} con id ${}')
socket.on('student', onReciveStudent)

// Creamos la funcion para recibir mensajes
const onReciveMessage = (message)=>{'message',{,
    console.log('Mensaje "${message}" desde ${} hacia la sala # ${currentRoom}')
socket.on('message', onReciveMessage)

// Desconectamos cualquier sesion que salga 
const onDisconnect = (socket)=>{
    console.log(' ${} se ha desconectado')
socket.on('disconnect', onDisconnect)

The socket code:

'use strict'
const socket = io()
// Establecemos la coneccion de lado del cliente
const onConnection = () =>{
console.log('Estudiante conectado con el id : ${}')

// Recibimos los mensajes desde el servidor
const getMessage = (message)=>{
// Agregamos el mensaje recibido al cliente web
const P = document.createElement("p")
P.appendChild(document.createTextNode('${message.sender} : ${message.content}'))

socket.on('message', getMessage)

// Funcion del lado del cliente para cambiar la room
const setRoom = ()=>{
socket.emit('moveToRoom', document.getElementById('room').value)

//Funcion para los datos del estudiante
const sendStudent = ()=>{
// Buscamos el elemento por su id y lo enviamos por medio de "emit"
const Student = document.getElementById('student')
socket.emit('student', Student.value)
window.location = './room.html'

// Funcion para enviar respuestas del lado del cliente
const sendMessage = ()=>{
// Buscamos el elemento por su id y lo enviamos por medio de "emit"
const Message = document.getElementById('message')
socket.emit('message', Message.value)
// Renderizamos un nuevo elemento HTML para mostrar el mensaje de lado del cliente
const P = document.createElement("p")
P.appendChild(document.createTextNode('${} : ${Message.value}'))
// Limpiamos la caja de texto despues de enviar el mensaje
asked by George Rozo 04.01.2019 в 07:56

0 answers