freeCodeCamp/curriculum/challenges/spanish/06-information-security-and.../advanced-node-and-express/handle-a-disconnect.spanish.md

2.5 KiB

id title challengeType videoUrl localeTitle
589fc831f9fc0f352b528e76 Handle a Disconnect 2 Manejar una desconexión

Description

Como recordatorio, este proyecto se está construyendo sobre el siguiente proyecto de inicio en Glitch , o clonado desde GitHub . Puede notar que hasta ahora solo ha aumentado el número de usuarios. Controlar la desconexión de un usuario es tan fácil como manejar la conexión inicial, excepto que la diferencia es que debe escucharla en cada socket en lugar de en todo el servidor.
Para hacer esto, agregue a su escucha de conexión existente una escucha que escuche la "desconexión" en el zócalo sin que se pasen datos. Puede probar esta funcionalidad simplemente iniciando sesión en la consola que un usuario ha desconectado. socket.on('disconnect', () => { /*anything you want to do on disconnect*/ }); Para asegurarse de que los clientes tengan continuamente el recuento actualizado de usuarios actuales, debe disminuir los usuarios actuales en 1 cuando se produzca la desconexión y luego emitir el evento "recuento de usuarios" con el recuento actualizado. Nota
Al igual que 'desconectar', todos los demás eventos que un socket puede emitir al servidor deben manejarse dentro del oyente de conexión donde tenemos definido el 'socket'. Envía tu página cuando creas que lo has hecho bien.

Instructions

Tests

tests:
  - text: El servidor maneja el evento desconectándose de un socket
    testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/server.js") .then(data => { assert.match(data, /socket.on.*("|")disconnect("|")/gi, ""); }, xhr => { throw new Error(xhr.statusText); })'
  - text: Tu cliente está escuchando el evento 'cuenta de usuario'
    testString: 'getUserInput => $.get(getUserInput("url")+ "/public/client.js") .then(data => { assert.match(data, /socket.on.*("|")user count("|")/gi, "Your client should be connection to server with the connection defined as socket"); }, xhr => { throw new Error(xhr.statusText); })'

Challenge Seed

Solution

// solution required