Your SlideShare is downloading. ×

Conférence #nwx - node.js - 20121023

596

Published on

Comment échanger des données en temps réel avec node.js ? …

Comment échanger des données en temps réel avec node.js ?
La montée en puissance du HTML5 et des websockets ouvrent la porte à des échanges de données en temps réel et en simultané entre navigateurs et un serveur.
Interaction Multimédia présentera un exemple d'implémentation de la technologie node.js dans le cadre d'un dispositif de communication entre un serveur et plusieurs iPad connectés en réseau.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
596
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Node.js
  • 2. Contexte23/10/2012 2
  • 3. Environnement projet • Contexte du projet :  Mise en place d’un dispositif de jeu multi-joueurs en réseau  Jeu diffusé sur tablette tactile  Nécessité d’un serveur central de stockage pour agréger les réponses et les scores des participants à des fins statistiques • Prérequis client :  Nécessité de pouvoir assurer un déploiement sur tout type de tablette tactile, sans nécessiter un développement technique propre à chaque OS mobile (iOS, Android, BlackBerry, etc.)  Choix de la technologie HTML5 vs. développements natif • Problématique technique :  Jeu lancé depuis le poste serveur, une fois tous les joueurs connectés au serveur  Nécessité de faire communiquer les postes clients avec le serveur pour lancer le jeu une fois tous les participants présents23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 3
  • 4. Mise en œuvre technique23/10/2012 4
  • 5. De PHP à node.js • Idée 1 :  Requêtes PHP, à fréquence régulière requêtes Ajax depuis chaque poste client vers le serveur.  Résultats :  engorgement de la RAM serveur (trop de requêtes lancées vers le serveur avec plusieurs processus simultanés sans fin)  Incapacité à identifier, pour tous les postes clients, si le jeu était lancé. Certains postes clients ne lançaient pas le jeu  Après plusieurs tentatives pour jouer sur les délais d’appels des requêtes, conclusion sans appel de KO : mode opératoire non fonctionnel • Idée 2 :  Recours à la technologie Node.js  Une technologie permettant de lancer de multiples requêtes serveur-client en Multithreading, simultanément, de manière asynchrone.23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 5
  • 6. Schéma technico-fonctionnel23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 6
  • 7. Node.js : mise en œuvre (Serveur) 1. Configuration du serveur Node.js  Node.js requiert l’implémentation de scripts côté serveur.  Ajout du module socket.io pour permettre a23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 7
  • 8. Node.js : mise en œuvre (Client) 1. Réalisation des scripts côté client  Inclusion du script client Socket.io et connexion au serveur Node.js  Script exécuté par le poste animateur  Script exécuté sur les iPad23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 8
  • 9. Qui utilise Node.js ? Compilation de css, js en Fils de discussion temps réel Système de chat API EBay23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 9
  • 10. Démonstration23/10/2012 10
  • 11. Questions ?23/10/2012 11

×