16. H T T P
- Enviar e receber informações na web
- Request/Response
- Sua versão atual é a 2
- Uma requisição precisa ser transmitida pelo
user-agent para que então o servidor responda
18. - Transmissão de dados em ambos os sentidos de
forma simultânea.
- Mantém uma conexão persistente no servidor.
- O servidor agora consegue enviar requisições
para o navegador e vice-versa sem que ele
requisite.
- O handshake se parece com o HTTP, facilitando
com que o servidor possa servir HTTP e
WebSockets na mesma porta.
WebSocket
22. • Utilizava o protocolo HTTP.
• Vários requests eram necessários utilizando
setTimeOut() a cada 1s/2s.
• Sobrecarga no servidor, aplicação lenta.
Antes...
26. • É uma API que estabelece uma única conexão via
socket entre um client e o server
• Foi padronizado pelo W3C (~ 2012)
• No flash player 9 já tinha implementado WebSockets
(~ 2010 )
• Flash Sockets
• Pode ser oferecido com SSL
WebSockets
27. • Regulamentado pelo IETF
(internet engineering task force)
• Imagine uma espécie de túnel entre o cliente e
servidor
• WebRTC
(web real-time communication)
• ligações de voz, video, chat e transferência
de arquivos sem plugin.
WebSockets
43. • Real-time, baseada em eventos de comunicação
bi-direcionais
• Desenvolvido com Javascript utilizando a
especificação dos WebSockets
• Funciona em qualquer tipo de dispositivo,
mobile ou desktop
• É necessária a implementação tanto do lado
servidor como do lado cliente
Socket.io
45. • Instale o socket.io
• Acople o socket ao servidor existente
(que pode ser um servidor http)
• Utilize listeners (emitindo e recebendo eventos).
Socket.io
51. • Crie um projeto no firebase console
• Configure o firebase na sua aplicação,
integrando o script (código fornecido pela
documentação)
• Envie os dados e escute as mudanças
Firebase
70. io.on('connection', function (socket) {
socket.on(‘my_event', function (data) {
console.log(data); // my favourite color is red
});
});
io.emit(‘alert’, ‘socket.io is awesome!’);