2. ¿Quién soy?
● Ingeniero en Informática
Facultad de Informática UPM
● Me apasiona el mundo web
y nuevas tecnologías
● Trabajo en Unidad Editorial
3. Web
GET /hola.html
Cliente Servidor
200 OK
1. Unidireccional
2. Alta latencia
3. "Stateless" (peticiones independientes)
4. sockets
"Concepto abstracto por el cual dos procesos pueden
intercambiar información de manera fiable y ordenada, y
este queda definido por un par de IPs, puertos y un
protocolo de transporte"
5. Websockets
"Websocket es una tecnología que proporciona
un canal de comunicación bidireccional y full-
duplex sobre un único socket a través de la
WEB"
Cliente Servidor
Bi-direccional
Baja latencia
Bajo overhead
6. Tiempo real
Y ...
¿Cómo han funcionado las aplicaciones en
tiempo real hasta entonces?
7. Tiempo real - Polling
Fuente: http://dsheiko.com/weblog/websockets-vs-sse-vs-long-polling
8. Tiempo real - Websockets
Fuente: http://dsheiko.com/weblog/websockets-vs-sse-vs-long-polling
14. Socket.io y Sockjs
"Librerías para el desarrollo de aplicaciones en
tiempo real bajo WebSockets que abstraen los
diferentes mecanismos de comunicación"
http://socket.io/
https://github.com/sockjs/sockjs-client
15. Comet vs Websockets -
Overhead
Comparación de overhead de información innecesaria entre Comet y WebSocket
Fuente: http://www.websocket.org/quantum.html
19. DEMO Websockets -
Tareas
Ac
Cliente ep
Pe ta
tic W
ión eb
1 so
W ck
eb et
so Co
st
ck
/li
et ne
sk
3
et
Co xió
/ta
ck
2 n 4
so
ne
ET
eb
xió
G
W
n
+
L
TM
H
Servidor Servidor
(síncrona) (asíncrona)
20. DEMO Websockets -
Tareas
Cliente
5
Ac
tu
al
et
iza
at
pd
ció
/u
n
sk
ta
ST
/ta
re
O
7 a 9
ST
lP
de
PO
ta
es
pu
es
R
Servidor Servidor
(síncrona) (asíncrona)
6 8