Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/armanoalves/web-sockets
https://github.com/armanoalves/web-sockets
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/armanoalves/web-sockets
- Owner: armanoalves
- License: mit
- Created: 2023-11-07T19:44:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-10T20:09:14.000Z (about 1 year ago)
- Last Synced: 2023-11-10T21:24:45.561Z (about 1 year ago)
- Language: HTML
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Web Scockets
## Anotações da aula
### Aula 01
-> Diferenciar o protocolo HTTP do WebSockets:
- O protocolo HTTP trabalha com o modelo requisição-resposta, que não é adequado para aplicações quando queremos criar uma comunicação bidirecional e em tempo real entre cliente e servidor. Para esses casos, utilizamos o protocolo WebSockets.
-> Criar um servidor Socket.IO com Express e conectar um cliente:
- Você pode sempre consultar o passo a passo da documentação, na seção [Get Started](https://socket.io/get-started/chat).
-> Escutar o evento de conexão do cliente:
- Utilizamos o método `io.on()`, que recebe como primeiro parâmetro o nome do evento (por exemplo, “connection”) e como segundo parâmetro uma função callback, que será executada assim que o evento for escutado.
### Aula 02
-> Emitir seu primeiro evento a partir do cliente:
- No front-end, utilizamos `socket.emit()` para emitir o evento "texto_editor" para o servidor, junto com o texto que foi digitado.
-> Emitir um evento para vários clientes a partir do servidor:
- No back-end, com `io.emit()`, podemos emitir um evento para todos os clientes ou, com `socket.broadcast.emit()`, podemos emitir para todos os clientes, exceto o cliente que está emitindo o evento.
-> Organizar melhor os arquivos por responsabilidade:
- No front-end, deixamos um arquivo responsável por lidar com as manipulações do HTML (`documento.js`) e outro responsável para lidar com as funções do Socket.IO (`socket-front-documento.js`).