--- id: 589fc831f9fc0f352b528e76 title: Handle a Disconnect challengeType: 2 videoUrl: '' localeTitle: Lidar com uma desconexão --- ## Description
Como lembrete, este projeto está sendo construído sobre o seguinte projeto inicial no Glitch , ou clonado a partir do GitHub . Você pode perceber que até agora você só aumentou a contagem de usuários. O manuseio de um usuário desconectado é tão fácil quanto manipular a conexão inicial, exceto que a diferença é que você deve ouvi-la em cada soquete em comparação com o servidor inteiro.
Para fazer isso, inclua no ouvinte de conexão existente um ouvinte que ouça 'desconectar' no soquete sem passar dados. Você pode testar essa funcionalidade apenas registrando no console que um usuário desconectou. socket.on('disconnect', () => { /*anything you want to do on disconnect*/ }); Para garantir que os clientes tenham continuamente a contagem atualizada de usuários atuais, você deve diminuir os usuários atuais em 1 quando a desconexão acontecer e, em seguida, emitir o evento "contagem de usuários" com a contagem atualizada! Nota
Assim como 'desconectar', todos os outros eventos que um soquete pode emitir para o servidor devem ser manipulados dentro do ouvinte de conexão onde temos 'soquete' definido. Envie sua página quando achar que está certo.
## Instructions
## Tests
```yml tests: - text: O servidor manipula a desconexão do evento de um soquete testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/server.js") .then(data => { assert.match(data, /socket.on.*("|")disconnect("|")/gi, ""); }, xhr => { throw new Error(xhr.statusText); })' - text: Seu cliente está ouvindo o evento "contagem de usuários" 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
```js // solution required ```