Cada vez que alojo un servidor local, me conecto a él con el navegador, luego reinicio el servidor mientras mantengo el navegador abierto, existe la posibilidad (a veces esto no sucederá) de que el cliente se vuelva a conectar automáticamente al servidor con una nueva identificación de socket. hay alguna forma de prevenir esto?
Me doy cuenta de que incluso después de cerrar el servidor, el mensaje de error que le dice al cliente que hay un problema de conexión no aparece en el registro de la consola del navegador.
Además, noté que incluso después de reiniciar el servidor, y después de que el cliente se haya vuelto a conectar con una nueva identificación, de alguna manera todavía imprime la identificación anterior, es decir:
//program for client function setup(){ socket = io.connect('http://localhost:2000', { 'reconnect': false }); socket.on('yourid', function(data){ myid = data.id; }) //some code... } function draw(){ socket.on('connect_error', function (err) { socket.disconnect(); });//I added this to try to manually disconnect the client whenever //there's a connection problem, but it somehow doesnt work console.log(myid);// this still run after shutting the server down, and gives the old id }para servidor:
io.sockets.on('connection', function(socket) { console.log('someone conencted, Id: ' + socket.id); //some code... player = new Player(socket.id); socket.emit('yourid', {id: player.id}); }Esto me está volviendo loco, intenté agregar server.close() cuando el servidor está a punto de cerrarse, pero no sirvió de nada,
process.on('exit', function() { io.emit('disconnect'); server.close(); });¿Alguien puede ayudarme por favor? Por cierto, estoy usando p5.js