Exemplo simples de Websocket com Nodejs

Tópico actual é exemplo de WebSocket com nodejs. WebSocket ajuda a comunicar os servidores com os clientes de forma assimétrica. O servidor e o cliente podem comunicar e trocar dados ao mesmo tempo. WebSocket ajuda a criar comunicação em tempo real entre servidores web e clientes.

O jQuery AJAX também pode usar para comunicar com o servidor, que é apenas uma comunicação unidireccional e apenas o cliente pode pedir dados ao servidor.

Whereas, Websocket fornece comunicação bidireccional entre servidor e cliente.A ligação WebSocket é uma ligação persistente entre um browser(aplicação cliente) e o servidor. O servidor pode enviar mensagens para o browser e o browser pode responder através da mesma ligação.

Table of Contents

Conexão WebSocket com Nodejs

O WebSocket API é um padrão de plataforma cruzada para comunicação em tempo real entre um cliente e o servidor.O protocolo Web socket tem dois tipos(ws:// e wss://) como http e https.

A aplicação cliente deve ter a capacidade de ligar o Web socket e estabelecer ligação.Criaremos dois ficheiros –

  • server.js :Este ficheiro criará servidor que enviará resposta à aplicação cliente.
  • client.js :Este ficheiro utilizará para a aplicação cliente e ouvirá resposta do servidor .

Instauraremos ws

Instalaremos ws libs na aplicação nodejs utilizando o seguinte comando.

npm install ws

Criar servidor websocket

Criaremos server.js ficheiro e adicionaremos o código abaixo a este ficheiro.

P>Primeiro, vamos criar ws objecto de ligação e abrir ligação em 8080 porta.Agora, abrir linha de comando e executar servidor pelo seguinte comando –

node server

Criar aplicação cliente para WebSocket

Criaremos client.js ficheiro e adicionaremos o código abaixo neste ficheiro –

Okay, Agora vamos iniciar um servidor do lado do cliente através do seguinte comando.

node client

Após a ligação bem sucedida do cliente ao servidor, o servidor começa a enviar a mensagem à aplicação cliente.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *