42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
|
---
|
||
|
id: 589fc831f9fc0f352b528e76
|
||
|
title: Handle a Disconnect
|
||
|
challengeType: 2
|
||
|
videoUrl: ''
|
||
|
localeTitle: Lidar com uma desconexão
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id="description"> Como lembrete, este projeto está sendo construído sobre o seguinte projeto inicial no <a href="https://glitch.com/#!/import/github/freeCodeCamp/boilerplate-socketio/">Glitch</a> , ou clonado a partir do <a href="https://github.com/freeCodeCamp/boilerplate-socketio/">GitHub</a> . 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. <hr> 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. <code>socket.on('disconnect', () => { /*anything you want to do on disconnect*/ });</code> 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! <strong>Nota</strong> <br> 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. </section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id="instructions">
|
||
|
</section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='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); })'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|
||
|
</section>
|