SlideShare uma empresa Scribd logo
1 de 31
WebSocket
Trazendo soquetes para a web
Jackson Veroneze
Software Developer
jackson@jacksonveroneze.com
https://jacksonveroneze.com
https://br.linkedin.com/in/jacksonveroneze
Autores
Mario Mendonça
Software Developer
mario.mendonca@gmail.com
https://br.linkedin.com/in/mario-mendonca
O que são Sockets de rede e WebSockets?
WebSockets e Sockets são ambos protocolos de comunicação entre cliente
e servidor.
Embora possuam certas semelhanças (além do nome), são especificações
distintas para finalidades também diferentes.
Sockets
O protocolo Socket é usado para comunicação entre processos através da
rede.
Transmite dados em formato binário.
Para a comunicação na rede, ele opera sobre algum protocolo TCP ou UDP
para abstrair as complexidades inerentes do meio de transmissão.
Cada Socket conecta-se a uma porta específica.
Sockets são soluções genéricas, geralmente usados para comunicação de
alto desempenho entre diferentes plataformas.
WebSockets
O protocolo WebSocket, por sua vez, possui a finalidade muito mais
específica de ser implementado em navegadores web para comunicação
persistente do código JavaScript com o servidor web, comunicando-se
geralmente através da porta 80 e sempre sobre o protocolo TCP.
O formato do protocolo é em texto e o handshake que inicia a comunicação
é muito parecido com o HTTP, assim servidores web podem facilmente
servir HTTP e WebSockets na mesma porta.
O que é o Handshake?
Handshake é uma espécie de autorização que o cliente, ao solicitar uma
conexão com Servidor WebSocket, envia ao Servidor e por sua vez valida essa
autorização. Também é utilizado em vários protocolos da web como: FTP,
TCP, HTTP, etc.
O que é WebSocket?
A web tem sido construída com base no conhecido paradigma de
solicitação/resposta de HTTP.
Um cliente carrega uma página da web e, em seguida, nada acontece até que
o usuário clique na próxima página.
Por volta de 2005, o AJAX começou a deixar a web mais dinâmica.
Mesmo assim, toda a comunicação HTTP era direcionada pelo cliente, o que
exigia interação do usuário ou sondagem periódica para carregar novos
dados do servidor.
O que é WebSocket?
Web Sockets são um full-duplex, conexão persistente bi-direcional de um
navegador web para um servidor.
Depois que uma conexão socket é estabelecida a conexão permanece
aberta até que o cliente ou servidor decide encerrar.
O que é WebSocket?
Ao contrário do que o nome indica, o protocolo WebSocket não é apenas
sobre a web!
A especificação foi implementada a partir dos sistemas operacionais móveis
e tablets, incluindo iOS, Android e Windows.
Isso significa que podemos usar o poder e a velocidade do protocolo
WebSocket em um aplicativo de smartphone nativamente.
Os princípios fundamentais permanecem, independentemente de usarmos
JavaScript, ou linguagens de programação.
Especificação WebSocket
A especificação WebSocket define uma API que estabelece conexões de
"soquete" entre um navegador da web e um servidor.
Em outras palavras, há uma conexão persistente entre o cliente e o servidor
e ambas as partes podem começar a enviar dados a qualquer momento.
Fluxo de uma conexão HTTP
Fluxo de uma conexão WebSocket
Estabelecendo uma conexão - Request
Estabelecendo uma conexão - Response
Connection handshake
Temos aqui um "connection handshake". Ou seja, uma comunicação breve
entre o cliente e servidor indicando que há suporte para transações com
WebSocket.
Não será possível operações com WebSocket a menos que haja um retorno
"101"
O header Upgrade
Toda conexão Websocket começa uma requisição HTTP.
Essa requisição é como qualquer outra, exceto por conter um cabeçalho
diferente: Upgrade.
Ele indica que o cliente deseja atualizar a conexão para outro protocolo.
Nesse caso, Websocket.
Cabeçalhos na requisição do Handshake
No connection handshake são obrigatórios, na requisição, os seguintes
cabeçalhos:
1. Upgrade - indicando o protocolo que estamos querendo adotar;
2. Connection
3. Sec-Websocket-Key - Trata-se de uma chave, com 16 bytes, e em base 64
que será utilizada para atestar a validade da "atualização" oferecida pelo
servidor e impedir ataques "cross protocol"
4. Sec-Websocket-Version
Cabeçalhos na resposta do Handshake
São obrigatórios na resposta os seguintes cabeçalhos:
1. Upgrade
2. Connection
3. Sec-Websocket-Accept - É o retorno que o servidor dá, e o cliente utiliza,
para confirmar que o servidor entende o protocolo websocket.
Data Frame
NAVEGADORES
Verificar suporte
Casos de uso
Use o WebSocket sempre que precisar de uma conexão quase em tempo real
de baixa latência entre o cliente e o servidor. Alguns exemplos de casos de
uso:
Jogos on-line de vários jogadores
Aplicativos de chat
Links para esportes ao vivo
Atualização em tempo real de redes sociais
Abrir conexão
ws:. Conexões inseguras, idem ao http:
wss: Para uma conexão WebSocket segura e, do mesmo modo que https:, é
usado para conexões HTTP seguras.
Eventos
A associação imediata de alguns manipuladores de eventos à conexão permite
identificar quando a conexão está aberta, quando há mensagens recebidas ou
quando há um erro.
onopen
onerror
onmessage
onclose
onopen
Uma vez que tivermos a conexão estabelecida, o evento open() será disparado
para a nossa instância WebSocket.
onerror
Também podemos recuperar erros que possam ocorrer no decorrer de um
Listener (escuta) que parta de um evento error.
onmessage
Quando uma mensagem é recebida o evento mensagem é disparado.
Este evento inclui uma propriedade chamada de data que poderá ser usada
para acessar o conteúdo da mensagem.
onclose
Após termos finalizado a utilização do nosso WebSocket, o que precisamos
fazer é encerrar a nossa.
Após a nossa conexão ter sido fechada, o navegador irá disparar um evento
close.
Enviando mensagens
Os Websockets, podemos realizar o envio de tanto de textos como dados
binários.
Demos
http://www.websocket.org/echo.html
Referências
https://leonardorifeli.com/development/2016/05/29/socket-no-php.html
https://www.html5rocks.com/pt/tutorials/websockets/basics/
http://www.devmedia.com.br/uso-de-websockets-e-html5/32267
http://pt.stackoverflow.com/questions/46839/o-que-s%C3%A3o-sockets-de-
rede-e-websockets

Mais conteúdo relacionado

Mais procurados

Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active DirectoryEduardo Sena
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Cleber Ramos
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informaçãoSamantha Nunes
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidoresMarco Guimarães
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareAdriano Teixeira de Souza
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosHélio Jovo
 
Segurança dos Sistemas Operativos
Segurança dos Sistemas OperativosSegurança dos Sistemas Operativos
Segurança dos Sistemas OperativosPedro Marmelo
 

Mais procurados (20)

Modelo caso uso
Modelo caso usoModelo caso uso
Modelo caso uso
 
Windows server
Windows serverWindows server
Windows server
 
Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active Directory
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Seguranca de rede
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Curso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web ServicesCurso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web Services
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidos
 
Segurança dos Sistemas Operativos
Segurança dos Sistemas OperativosSegurança dos Sistemas Operativos
Segurança dos Sistemas Operativos
 
Aula 1
Aula 1Aula 1
Aula 1
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
 

Destaque

Destaque (6)

Node worshop Realtime - Socket.io
Node worshop Realtime - Socket.ioNode worshop Realtime - Socket.io
Node worshop Realtime - Socket.io
 
Socket.io (part 1)
Socket.io (part 1)Socket.io (part 1)
Socket.io (part 1)
 
Socket.IO
Socket.IOSocket.IO
Socket.IO
 
Socket.io
Socket.ioSocket.io
Socket.io
 
Going realtime with Socket.IO
Going realtime with Socket.IOGoing realtime with Socket.IO
Going realtime with Socket.IO
 
Web5 pushing the web forward.apr
Web5 pushing the web forward.aprWeb5 pushing the web forward.apr
Web5 pushing the web forward.apr
 

Semelhante a WebSocket - Protocolo de comunicação bidirecional

Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSJackson F. de A. Mafra
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application ServerFabricio Carvalho
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Maratona JBoss 2010 - JBossWS
Maratona JBoss 2010 -  JBossWSMaratona JBoss 2010 -  JBossWS
Maratona JBoss 2010 - JBossWSDextra
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoHanderson Frota
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
 
4 funções do windows 7 úteis para administradores de rede
4 funções do windows 7 úteis para administradores de rede4 funções do windows 7 úteis para administradores de rede
4 funções do windows 7 úteis para administradores de redeCESAR FERNANDES
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixNatanael Fonseca
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soapJeison Barros
 
Banco de dados web
Banco de dados webBanco de dados web
Banco de dados webBenedilosn
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
WCF Brasil - Introdução ao WCF
WCF Brasil - Introdução ao WCFWCF Brasil - Introdução ao WCF
WCF Brasil - Introdução ao WCFFabian Gehrke
 

Semelhante a WebSocket - Protocolo de comunicação bidirecional (20)

Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
 
Socket.io
Socket.ioSocket.io
Socket.io
 
Rest
RestRest
Rest
 
Websocket com PHP
Websocket com PHPWebsocket com PHP
Websocket com PHP
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application Server
 
Web service
Web serviceWeb service
Web service
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Maratona JBoss 2010 - JBossWS
Maratona JBoss 2010 -  JBossWSMaratona JBoss 2010 -  JBossWS
Maratona JBoss 2010 - JBossWS
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - Resumo
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
 
4 funções do windows 7 úteis para administradores de rede
4 funções do windows 7 úteis para administradores de rede4 funções do windows 7 úteis para administradores de rede
4 funções do windows 7 úteis para administradores de rede
 
Sockets : Introdução
Sockets : IntroduçãoSockets : Introdução
Sockets : Introdução
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Soa Woa Rest
Soa Woa RestSoa Woa Rest
Soa Woa Rest
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soap
 
SignalR - .Net Core 3.0
SignalR - .Net Core 3.0SignalR - .Net Core 3.0
SignalR - .Net Core 3.0
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Banco de dados web
Banco de dados webBanco de dados web
Banco de dados web
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
 
WCF Brasil - Introdução ao WCF
WCF Brasil - Introdução ao WCFWCF Brasil - Introdução ao WCF
WCF Brasil - Introdução ao WCF
 

Mais de Mario Mendonça

Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoMario Mendonça
 
Gulp - Automatizador de tarefas de front-end
Gulp - Automatizador de tarefas de front-endGulp - Automatizador de tarefas de front-end
Gulp - Automatizador de tarefas de front-endMario Mendonça
 
Web Storage - Armazenamento de dados
Web Storage - Armazenamento de dadosWeb Storage - Armazenamento de dados
Web Storage - Armazenamento de dadosMario Mendonça
 

Mais de Mario Mendonça (8)

Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimento
 
JWT - Json Web Token
JWT - Json Web TokenJWT - Json Web Token
JWT - Json Web Token
 
Gulp - Automatizador de tarefas de front-end
Gulp - Automatizador de tarefas de front-endGulp - Automatizador de tarefas de front-end
Gulp - Automatizador de tarefas de front-end
 
Web Storage - Armazenamento de dados
Web Storage - Armazenamento de dadosWeb Storage - Armazenamento de dados
Web Storage - Armazenamento de dados
 
Vanilla JS
Vanilla JSVanilla JS
Vanilla JS
 
Web components
Web componentsWeb components
Web components
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
If bom é if morto
If bom é if mortoIf bom é if morto
If bom é if morto
 

WebSocket - Protocolo de comunicação bidirecional

  • 3. O que são Sockets de rede e WebSockets? WebSockets e Sockets são ambos protocolos de comunicação entre cliente e servidor. Embora possuam certas semelhanças (além do nome), são especificações distintas para finalidades também diferentes.
  • 4. Sockets O protocolo Socket é usado para comunicação entre processos através da rede. Transmite dados em formato binário. Para a comunicação na rede, ele opera sobre algum protocolo TCP ou UDP para abstrair as complexidades inerentes do meio de transmissão. Cada Socket conecta-se a uma porta específica. Sockets são soluções genéricas, geralmente usados para comunicação de alto desempenho entre diferentes plataformas.
  • 5. WebSockets O protocolo WebSocket, por sua vez, possui a finalidade muito mais específica de ser implementado em navegadores web para comunicação persistente do código JavaScript com o servidor web, comunicando-se geralmente através da porta 80 e sempre sobre o protocolo TCP. O formato do protocolo é em texto e o handshake que inicia a comunicação é muito parecido com o HTTP, assim servidores web podem facilmente servir HTTP e WebSockets na mesma porta.
  • 6. O que é o Handshake? Handshake é uma espécie de autorização que o cliente, ao solicitar uma conexão com Servidor WebSocket, envia ao Servidor e por sua vez valida essa autorização. Também é utilizado em vários protocolos da web como: FTP, TCP, HTTP, etc.
  • 7. O que é WebSocket? A web tem sido construída com base no conhecido paradigma de solicitação/resposta de HTTP. Um cliente carrega uma página da web e, em seguida, nada acontece até que o usuário clique na próxima página. Por volta de 2005, o AJAX começou a deixar a web mais dinâmica. Mesmo assim, toda a comunicação HTTP era direcionada pelo cliente, o que exigia interação do usuário ou sondagem periódica para carregar novos dados do servidor.
  • 8. O que é WebSocket? Web Sockets são um full-duplex, conexão persistente bi-direcional de um navegador web para um servidor. Depois que uma conexão socket é estabelecida a conexão permanece aberta até que o cliente ou servidor decide encerrar.
  • 9. O que é WebSocket? Ao contrário do que o nome indica, o protocolo WebSocket não é apenas sobre a web! A especificação foi implementada a partir dos sistemas operacionais móveis e tablets, incluindo iOS, Android e Windows. Isso significa que podemos usar o poder e a velocidade do protocolo WebSocket em um aplicativo de smartphone nativamente. Os princípios fundamentais permanecem, independentemente de usarmos JavaScript, ou linguagens de programação.
  • 10. Especificação WebSocket A especificação WebSocket define uma API que estabelece conexões de "soquete" entre um navegador da web e um servidor. Em outras palavras, há uma conexão persistente entre o cliente e o servidor e ambas as partes podem começar a enviar dados a qualquer momento.
  • 11. Fluxo de uma conexão HTTP
  • 12. Fluxo de uma conexão WebSocket
  • 15. Connection handshake Temos aqui um "connection handshake". Ou seja, uma comunicação breve entre o cliente e servidor indicando que há suporte para transações com WebSocket. Não será possível operações com WebSocket a menos que haja um retorno "101"
  • 16. O header Upgrade Toda conexão Websocket começa uma requisição HTTP. Essa requisição é como qualquer outra, exceto por conter um cabeçalho diferente: Upgrade. Ele indica que o cliente deseja atualizar a conexão para outro protocolo. Nesse caso, Websocket.
  • 17. Cabeçalhos na requisição do Handshake No connection handshake são obrigatórios, na requisição, os seguintes cabeçalhos: 1. Upgrade - indicando o protocolo que estamos querendo adotar; 2. Connection 3. Sec-Websocket-Key - Trata-se de uma chave, com 16 bytes, e em base 64 que será utilizada para atestar a validade da "atualização" oferecida pelo servidor e impedir ataques "cross protocol" 4. Sec-Websocket-Version
  • 18. Cabeçalhos na resposta do Handshake São obrigatórios na resposta os seguintes cabeçalhos: 1. Upgrade 2. Connection 3. Sec-Websocket-Accept - É o retorno que o servidor dá, e o cliente utiliza, para confirmar que o servidor entende o protocolo websocket.
  • 22. Casos de uso Use o WebSocket sempre que precisar de uma conexão quase em tempo real de baixa latência entre o cliente e o servidor. Alguns exemplos de casos de uso: Jogos on-line de vários jogadores Aplicativos de chat Links para esportes ao vivo Atualização em tempo real de redes sociais
  • 23. Abrir conexão ws:. Conexões inseguras, idem ao http: wss: Para uma conexão WebSocket segura e, do mesmo modo que https:, é usado para conexões HTTP seguras.
  • 24. Eventos A associação imediata de alguns manipuladores de eventos à conexão permite identificar quando a conexão está aberta, quando há mensagens recebidas ou quando há um erro. onopen onerror onmessage onclose
  • 25. onopen Uma vez que tivermos a conexão estabelecida, o evento open() será disparado para a nossa instância WebSocket.
  • 26. onerror Também podemos recuperar erros que possam ocorrer no decorrer de um Listener (escuta) que parta de um evento error.
  • 27. onmessage Quando uma mensagem é recebida o evento mensagem é disparado. Este evento inclui uma propriedade chamada de data que poderá ser usada para acessar o conteúdo da mensagem.
  • 28. onclose Após termos finalizado a utilização do nosso WebSocket, o que precisamos fazer é encerrar a nossa. Após a nossa conexão ter sido fechada, o navegador irá disparar um evento close.
  • 29. Enviando mensagens Os Websockets, podemos realizar o envio de tanto de textos como dados binários.