Socket.io
Librería Javascript para crear aplicaciones web en tiempo real
deivijt.com

EJEMPLO Y CASO DE USO
192.168.1.133:5000
¿COMO EMPEZAR CON SOCKET.IO?
$ npm install socket.io --save
<script src="/socket.io/socket.io.js"></script>
NodeJS
Cliente web
COMUNICACIÓN
CLIENTE - SERVIDOR
La comunicación en Socket.io se da a través de eventos
// Cliente //Servidor
const socket = io.connect('/rooms') io.on('connection', (socket) => {
socket.emit('pixel', payload) socket.on('pixel', (payload) => {
socket.on('new pixel', draw) socket.emit('new pixel', payload)
})
})
BROADCASTING
Enviar mensajes a todos los clientes excepto a quien emitió el evento.
// Cliente // Servidor
socket.emit('pixel', payload) socket.on('pixel', (payload) => {
socket.on('new pixel', draw) socket.broadcast.emit('new pixel', payload)
})
NAMESPACES
-Permite separar partes de la aplicación sin que los eventos se crucen.
// Cliente //Servidor
const socket = io.connect('/rooms') io.of('/rooms').on('connection', (socket) => {
socket.emit('pixel', payload) socket.on('pixel', (payload) => {
socket.on('new pixel', draw) socket.emit('new pixel', payload)
})
})
ROOMS
En cada namespace podemos crear "salas" donde unimos o sacamos a un cliente.
// Cliente //Servidor
const socket = io.connect('/rooms') io.of('/rooms').on('connection', (socket) => {
socket.emit('pixel', payload) socket.on('pixel', (payload) => {
socket.on('new pixel', draw) socket.emit('new pixel', payload)
})
})
socket.emit('pixel', payload) socket.on('pixel', (payload) => {
socket.on('new pixel', draw) socket.broadcast.to('/room').emit('new pixel', payload)
})
GRACIAS TOTALES!

Socket.io
By david jaimes
Socket.io
- 394