🔌Socket
ATENÇÃO!
Proibido prosseguir sem antes entender os conceitos que combinamos lá na Introdução!
Agora que você já tem em mente como funciona a base de uma aplicação HTTP pelo Node, vamos juntar todos estes conceitos e aplicá-lo ao SOCKET e como ele irá interferir na nossa aplicação
O que é?
O Socket.io é uma biblioteca que simplifica a comunicação bidirecional em tempo real entre servidores e clientes. Ele foi projetado para superar as limitações da comunicação HTTP tradicional, que é principalmente unidirecional (do servidor para o cliente) e baseada em solicitações.
Como funciona?
O Socket opera com base em dois componentes principais: o servidor (backend) e o cliente (front-end).
Back-end
Configuração do Servidor Socket
Você configura um servidor Socket em seu backend usando uma linguagem de programação compatível, como Node.js neste caso. Isso cria um ponto de extremidade para a comunicação em tempo real.
Gestão de Conexões
O servidor Socket gerencia conexões de cliente e mantém uma lista de clientes conectados. Cada conexão é identificada por um ID exclusivo.
Emissão de Eventos
O servidor pode emitir eventos para clientes específicos ou para todos os clientes conectados. Esses eventos podem conter dados, mensagens ou atualizações em tempo real.
No exemplo acima, o socket está emitindo um evento chamado mensagem
e todos que estiverem preparados para receber o evento mensagem
, também receberão seu conteúdo.
Front-end
Configuração do Cliente Socket
Você inclui a biblioteca Socket no código do cliente (geralmente JavaScript) para estabelecer uma conexão com o servidor Socket.
Esta simples configuração, já é o suficiente para habilitar seu Client para receber e emitir eventos através socket.
Escuta de eventos
Lembra quando emitimos o evento message
no servidor?
O Client é capaz de receber a mensagem através deste simples código:
Ele irá receber o evento mensagem
e salvar o conteúdo enviado em uma variável chamada mensagemRecebida
, em seguida será mostrado o seguinte resultado no console do Client:
Emissão de Eventos
Assim como o servidor, o client também consegue fazer a emissão de eventos, da mesma maneira do servidor, permitindo que ele envie dados ou solicite informações específicas.
Conclusão
Viu como é simples, jovem padawan!?
Espero que você tenha entendido o conceito por trás do Socket e que sua mente tenha lhe trazido diversas ideias de aplicação com esta ferramenta incrível!
Deixarei também duas sugestões de leitura que foram implementadas neste projeto e que são fundamentais no desenvolvimento web atualmente, são eles: SSL e TSL. Que são dois protocolos de segurança IMPORTANTÍSSIMOS. Nos vemos em breve! 😉
Last updated