SlideShare uma empresa Scribd logo
1 de 22
Socket.io
FEATURING THE FASTEST AND MOST RELIABLE REAL-TIME ENGINE
Jonathan Sedrez
Frontend | ilegra
WebSockets
WebSockets
WebSockets é uma tecnologia que torna possível
abrir uma sessão de comunicação interativa
entre o navegador e um servidor.
Real-time - Bidirectional - Eventos
WebSockets
HTTP
WebSockets
WebSockets
websocket handshake
WebSockets
Comunicação baseada em eventos
WebSockets
Entre outros....
WebSockets
Vantagens
● Não sobrecarrega o servidor
● Fluidez na comunicação
● Pode ser utilizada na maioria das linguagens
Socket.io
Socket.io
O Socket.IO é uma biblioteca que permite a
comunicação em tempo real, bidirecional e
baseada em eventos entre o navegador e o
servidor.
Usa websockets como transporte.
Socket.io
Socket.io não é apenas uma
implementação de websockets...
WebSockets
Embora o Socket.IO realmente use o WebSocket
como transporte quando possível, ele adiciona
alguns metadados a cada pacote:
Tipo - Nome - identificação
Code
Code
Backend Frontend
npm install --save socket.io npm install --save socket.io-client
Code
Usando com Javascript
Client
Code
Usando com Express
Server
Server
Client
Conclusão
Obrigado!
JS > RUST

Mais conteúdo relacionado

Mais procurados

GDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosGDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosCaio Cutrim
 
XSS Desvendado
XSS DesvendadoXSS Desvendado
XSS Desvendadoricardophp
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarFilipe Falcão
 
Curso de Node.js e MongoDB - 12
Curso de Node.js e MongoDB - 12Curso de Node.js e MongoDB - 12
Curso de Node.js e MongoDB - 12Luiz Duarte
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!ricardophp
 
Websocket
WebsocketWebsocket
Websocketmaxii
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsSuissa
 

Mais procurados (8)

GDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosGDG Conf Node JS sem segredos
GDG Conf Node JS sem segredos
 
XSS Desvendado
XSS DesvendadoXSS Desvendado
XSS Desvendado
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
Curso de Node.js e MongoDB - 12
Curso de Node.js e MongoDB - 12Curso de Node.js e MongoDB - 12
Curso de Node.js e MongoDB - 12
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!
 
Websocket
WebsocketWebsocket
Websocket
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webapps
 
Por que Node JS?
Por que Node JS?Por que Node JS?
Por que Node JS?
 

Semelhante a Socket.io

Web socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webWeb socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webJackson Veroneze
 
Web socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webWeb socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webMario Mendonça
 
WebRTC, muito mais do que "Talking Heads"
WebRTC, muito mais do que "Talking Heads"WebRTC, muito mais do que "Talking Heads"
WebRTC, muito mais do que "Talking Heads"Rui Ribeiro
 
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
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPMichael Douglas
 
Aplicações Realtime com PHP
Aplicações Realtime com PHPAplicações Realtime com PHP
Aplicações Realtime com PHPGustavo Castro
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebDiego Pessoa
 
Android chat app com Node.js
Android chat app com Node.jsAndroid chat app com Node.js
Android chat app com Node.jsLuiz Duarte
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTImarcochella
 
ReMobile - Nokia Web Runtime
ReMobile - Nokia Web RuntimeReMobile - Nokia Web Runtime
ReMobile - Nokia Web Runtimefelipebzr
 
Introdução ao Windows Azure
Introdução ao Windows AzureIntrodução ao Windows Azure
Introdução ao Windows AzureFernando Correia
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET CoreGiovanni Bassi
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJSAlex Camargo
 
Sessao Exploratoria WebRTC
Sessao Exploratoria WebRTCSessao Exploratoria WebRTC
Sessao Exploratoria WebRTCRui Ribeiro
 

Semelhante a Socket.io (20)

Web socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webWeb socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a web
 
Web socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a webWeb socket - Trazendo soquetes para a web
Web socket - Trazendo soquetes para a web
 
WebRTC, muito mais do que "Talking Heads"
WebRTC, muito mais do que "Talking Heads"WebRTC, muito mais do que "Talking Heads"
WebRTC, muito mais do que "Talking Heads"
 
Browser Mobile - Firefox
Browser Mobile - FirefoxBrowser Mobile - Firefox
Browser Mobile - Firefox
 
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
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHP
 
Aplicações Realtime com PHP
Aplicações Realtime com PHPAplicações Realtime com PHP
Aplicações Realtime com PHP
 
Nodejs e Socket.io
Nodejs e Socket.ioNodejs e Socket.io
Nodejs e Socket.io
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da Web
 
Android chat app com Node.js
Android chat app com Node.jsAndroid chat app com Node.js
Android chat app com Node.js
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTI
 
ReMobile - Nokia Web Runtime
ReMobile - Nokia Web RuntimeReMobile - Nokia Web Runtime
ReMobile - Nokia Web Runtime
 
Python CGI
Python CGIPython CGI
Python CGI
 
Introdução ao Windows Azure
Introdução ao Windows AzureIntrodução ao Windows Azure
Introdução ao Windows Azure
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET Core
 
Internet e Web NÃO SÃO as mesmas coisas
Internet e Web NÃO SÃO as mesmas coisasInternet e Web NÃO SÃO as mesmas coisas
Internet e Web NÃO SÃO as mesmas coisas
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJS
 
Sessao Exploratoria WebRTC
Sessao Exploratoria WebRTCSessao Exploratoria WebRTC
Sessao Exploratoria WebRTC
 

Mais de Jonathan de Britto Sedrez (15)

Typescript 4.1
Typescript 4.1Typescript 4.1
Typescript 4.1
 
RSocket
RSocketRSocket
RSocket
 
Rambda
RambdaRambda
Rambda
 
PWA
PWAPWA
PWA
 
OTA updates
OTA updatesOTA updates
OTA updates
 
OKRs
OKRsOKRs
OKRs
 
Jasmine
Jasmine Jasmine
Jasmine
 
Facebook flux
Facebook fluxFacebook flux
Facebook flux
 
Event bubbling
Event bubblingEvent bubbling
Event bubbling
 
EscmaScript
EscmaScriptEscmaScript
EscmaScript
 
Es2020
Es2020Es2020
Es2020
 
Enzyme js
Enzyme jsEnzyme js
Enzyme js
 
Cypress
CypressCypress
Cypress
 
Chart css
Chart cssChart css
Chart css
 
Bff patterns
Bff patternsBff patterns
Bff patterns
 

Socket.io

Notas do Editor

  1. Antes de falarmos propriamente de socet.io eu vou explicar m passo anterior que são os websockets. Ele faz parte das especificações do html 5 é suportado pelas ultimas versões dos navegadores
  2. O websocket e um protocolo que torna possivbel a comunicação bidirecional entre um navegador web e um servidor . Ele permite a criação d eum tunel para transportar de uma forma continua entre um savegador e um servidor.
  3. Para entendermos melhor vamos pomparalo com o medelo HTTP.
  4. O websocket veio para resolver esse problema de comunicação. Uma vez que utilizando uma vez que efetuamos uma comunicação, ela é continua.
  5. Apesar de ser muito poderoso, o conceito de sua arquitetura é bem simple. Ele se baseia em Evento sonde e o navegador e o servidor vao receber e emtir eventos um para o outro.
  6. utilizando o websockets nao estaremos sobrecarregando o servidor com requisições inuteis e que as informações fluem de forma mais rapida e continua, vale lembrar que atualmente websocket é suportado por diversas linguagens e ambiente.
  7. Agora então que ja sabemos o que é websocker vamos entrar na parte do socket.io
  8. biblioteca em node
  9. Embora o Socket.IO realmente use o WebSocket como transporte quando possível, ele adiciona alguns metadados a cada pacote: o tipo de pacote, o espaço para nome e a identificação do pacote quando uma confirmação de mensagem é necessária.
  10. Embora o Socket.IO realmente use o WebSocket como transporte quando possível, ele adiciona alguns metadados a cada pacote: o tipo de pacote, o espaço para nome e a identificação do pacote quando uma confirmação de mensagem é necessária.
  11. Embora o Socket.IO realmente use o WebSocket como transporte quando possível, ele adiciona alguns metadados a cada pacote: o tipo de pacote, o espaço para nome e a identificação do pacote quando uma confirmação de mensagem é necessária.
  12. Embora o Socket.IO realmente use o WebSocket como transporte quando possível, ele adiciona alguns metadados a cada pacote: o tipo de pacote, o espaço para nome e a identificação do pacote quando uma confirmação de mensagem é necessária.
  13. Embora o Socket.IO realmente use o WebSocket como transporte quando possível, ele adiciona alguns metadados a cada pacote: o tipo de pacote, o espaço para nome e a identificação do pacote quando uma confirmação de mensagem é necessária.
  14. Embora o Socket.IO realmente use o WebSocket como transporte quando possível, ele adiciona alguns metadados a cada pacote: o tipo de pacote, o espaço para nome e a identificação do pacote quando uma confirmação de mensagem é necessária.
  15. socket.io é uma ferramenta muito poderosa para resolver problemas de comunicação continua (chat, pooling, jogos). É importante saber o momento de utilizar e tambem o momento de NÂO utilizar. Utilizar socket.io;websocket pode em casos que não sejam esses podem afetar negativamente a performance e adicionando complexidade para o desenvolvedor.