Realtime nodejs socket io

17
Real Time Node JS + Socket.IO JOSE GRATEREAUX @JGRATEREAUX https://github.com/gratereaux http://www.slideshare.net/jgratereaux

description

Realtime nodejs socket io

Transcript of Realtime nodejs socket io

Page 1: Realtime nodejs   socket io

Real Time Node JS + Socket.IO

JOSE GRATEREAUX@JGRATEREAUX

https://github.com/gratereauxhttp://www.slideshare.net/jgratereaux

Page 2: Realtime nodejs   socket io

Web Apps con real timeFlight Radas: localizador de vuelos en tiempo real donde muestra informacion actual del avion.

Murally is an app targeting creative teams who want to collaborate in a visual way using large murals.

Real-time in Google AnalyticsGame-Cast de ESPN

Page 3: Realtime nodejs   socket io

Node.js

Node.js es un entorno de programación en la capa del servidor basado en el lenguaje de programación Javascript, con I/O de datos en una arquitectura

orientada a eventos y basado en el motor Javascript V8. Fue creado con el enfoque de ser útil en la creación de

programas de red altamente escalables

nodejs.org

Page 4: Realtime nodejs   socket io

¿Websocket?

• Es una tecnología que proporciona un canal de comunicación bidireccional y full-duplex sobre una única conexión TCP

• Conexión persistente entre el servidor y el cliente.

Page 5: Realtime nodejs   socket io

Socket.IO

• Tiene como objetivo hacer posible las aplicaciones en tiempo real en cualquier browser.

• Socket entre Servidor & Cliente.• Enviar data de uno a otro.• Recibe data vía eventos.• Soporte de todos los browsers.• Múltiples sockets bajo la misma conexión.• Detección de desconexiones vía heartbeats.• 100% javascript• Lo podemos descargar vía NPM

Page 6: Realtime nodejs   socket io

Que pasa cuando te conectas?

Cliente socket.io Servidor Node + Socket.io

Page 7: Realtime nodejs   socket io

Que pasa cuando te conectas?

Cliente socket.io Servidor Node + Socket.io

Handshake request

Page 8: Realtime nodejs   socket io

Que pasa cuando te conectas?

Cliente socket.io Servidor Node + Socket.ioHandshake acepted

La vía de transporte, id y config son retornados

Page 9: Realtime nodejs   socket io

Que pasa cuando te conectas?

Cliente socket.io Servidor Node + Socket.io

Una función de detección es usada para encontrar un layer de transporte que funcione.

Page 10: Realtime nodejs   socket io

Que pasa cuando te conectas?

• Métodos de transporte disponibles:

• Web Socket

• Flash Socket

• HTML File

• XHR Polling

• XHR Multipart

• JSONP Polling

Page 11: Realtime nodejs   socket io

Que pasa cuando te conectas?

Cliente socket.io Servidor Node + Socket.io

Heartbeats son enviados para asegurar una buena conexión

El cliente establece la conexión en tiempo real con el servidor

Page 12: Realtime nodejs   socket io

Socket.IO

• Descargar e Instalar Node.js• http://nodejs.org/#download

• Instalar Socket.IO• Npm install socket.io

• Escribir el server y el cliente

• Ejecutar o correr el servidor • Node server.js

How to setup

Page 13: Realtime nodejs   socket io

Socket.IO

• emit(event, data)

• on(event, handler)

Page 14: Realtime nodejs   socket io

Socket.IOBasic Server setup

Page 15: Realtime nodejs   socket io

Socket.IOBasic Client setup

Page 16: Realtime nodejs   socket io

Socket.IOVamonos pa`los codigos!

Page 17: Realtime nodejs   socket io

GraciasTiempo de responder preguntas!

JOSE GRATEREAUX@JGRATEREAUX

https://github.com/gratereaux