Como criar chats com Socket.io no Node.js


Socket.Io oferece uma forma simples e eficiente de criar aplicações utilizando sockets, nesse artigo vamos criar uma aplicação que oferece um webchat como o da imagem abaixo, com Socket.io no Node.js.

O repositório com os arquivo completos está disponível aqui.

Como funciona o Socket.Io no Node.JS

SocketIO é um framework para agilizar a construção de aplicações real-time bidirecionais. Com essa ferramenta é possível desenvolver rapidamente aplicações para interagir com usuários de forma dinâmica.

Como demonstração das possibilidades que o socket io oferece, iremos montar um WebChat bem simples, utilizando o conteúdo disponibilizado na documentação oficial, apenas com algumas modificações.

Primeiros passos

Primeiro passo é iniciar um aplicação node com npm init, e editar o arquivo package.json para se adequar ao projeto:

Configurar o script start;
Informar as dependências do projeto.

Após configurar o package.json podemos rodar npm install, assim vamos instalar as duas dependências necessárias o SocketIO e o Express.

Com as dependências, precisamos criar os arquivos que vão realizar o uso do socket.io para iniciar a aplicação.

Arquivo server.js, será responsável por receber as mensagens e informar para todos os clientes conectados.

O arquivo index.html, será uma página html básica com os campos do nosso formulário de contato, fique livre para editar e customizar o css dessa página.

Tudo pronto, e agora?

Com os os arquivos criados podemos iniciar o nosso servidor de testes com o comando npm start.

e ao acessar http://localhost:3000 será iniciado o servidor do chat.

Publicando a sua aplicação na Internet

Agora que sua aplicação com Socket.io no Node.js foi desenvolvida e está funcionando nos testes é hora de publicar ela na internet, para isso precisamos de uma hospedagem com suporte a node.js.

Esse webchat funcionará perfeitamente na estrutura node.js da Kinghost, para realizar o deploy da aplicação pode seguir o nosso guia na Central de Ajuda KingHost.

Fique ligado no Blog da KingHost para mais novidades.

Gabriel Petry

Especialista em Suporte em KingHost
Geek, fascinado por Linux e programas Open Source.

Últimos posts por Gabriel Petry (exibir todos)

Comentários

comentário(s)