Uma breve história sobre o tempo com Socket.io e Node.js
-
Upload
guilherme-oderdenge -
Category
Internet
-
view
103 -
download
3
Transcript of Uma breve história sobre o tempo com Socket.io e Node.js
HIGHLIGHTS
✓ Simples implementação;✓ Relativamente econômico;
Você recebe uma resposta quando ela passar a existir.
✓ Relativamente inteligente.
WEBSOCKETSÉ um protocolo (ws://) que provê
um canal de comunicação “full-duplex” sobre uma única conexão TCP.
✓ Relativamente simples implementação;✓ Econômico e inteligente;✓ Funciona na maioria dos browsers modernos;✓ Nasceu para o propósito do tempo-real na web;
Após o handshake feito pelo HTTP, tudo é WebSocket.
HIGHLIGHTS
var io = require ('socket.io')(80);
io.on('connection', function () { console.log(‘a user is connected'); });
'connection'
Built-in Events
disconnect reconnect reconnect_attempt
index.html
Hey, TDC! You rock!
$('form').on('submit', function () { socket.emit('message:send', $('input').val()); });
<script src=“jquery.js"></script> <script src="/socket.io/socket.io.js"></script> <script> var socket = io();
</script>
var io = require ('socket.io')(80);
io.on('connection', function (socket) { console.log(‘a user is connected’);
});
socket.on('message:send', function (message) { io.emit('message:received', message); });
'message:send''message:received'
socket.on(‘message:received', function (message) { $(‘.messages’).prepend('<li>' + message + ‘</li>'); });
Namespaces
socket.of(‘/chat’).emit(‘message:send’, message);socket.of(‘/analytics’).emit(‘user:click’, axis);
socket.of(‘/chat’).on(‘message:send’, function (message) {});socket.of(‘/analytics’).on(‘user:click’, function (axis) {});
socket.broadcast.emit(‘notification’, something);
socket.broadcast.on(‘notification’, function () {});
socket.broadcast.emit(‘notification’, something);
socket.broadcast.on(‘notification’, function () {});
broadcast emite para todos os clientes dentro de um socket, exceto o emissor.
io.of(‘/chat’).on(‘connection’, function (socket) { socket.broadcast.emit('something', { to: ‘someone’ }); });
io.of(‘/analytics’);
Roomsio.of(‘/chat’).on(‘connection’, function (socket) { socket.join(‘trilha javascript’); });
io.to(‘trilha javascript’).emit(‘message’, { message: ‘Hello!’ });
var socket = io(‘/chat’);
chat.html
DETALHES IMPORTANTES
- Preocupe-se com segurança quando trabalhar com WebSockets;
- Socket.IO é uma opção escalável às técnicas de polling;
- Socket.IO é simples. Mesmo.