Download - Realtime nodejs socket io
![Page 1: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/1.jpg)
Real Time Node JS + Socket.IO
JOSE GRATEREAUX@JGRATEREAUX
https://github.com/gratereauxhttp://www.slideshare.net/jgratereaux
![Page 2: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/4.jpg)
¿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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/6.jpg)
Que pasa cuando te conectas?
Cliente socket.io Servidor Node + Socket.io
![Page 7: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/7.jpg)
Que pasa cuando te conectas?
Cliente socket.io Servidor Node + Socket.io
Handshake request
![Page 8: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/13.jpg)
Socket.IO
• emit(event, data)
• on(event, handler)
![Page 14: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/14.jpg)
Socket.IOBasic Server setup
![Page 15: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/15.jpg)
Socket.IOBasic Client setup
![Page 16: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/16.jpg)
Socket.IOVamonos pa`los codigos!
![Page 17: Realtime nodejs socket io](https://reader036.vdocuments.us/reader036/viewer/2022062303/557bad06d8b42a29258b5074/html5/thumbnails/17.jpg)
GraciasTiempo de responder preguntas!
JOSE GRATEREAUX@JGRATEREAUX
https://github.com/gratereaux