Le web en temps réel - Socket.io - NodeJs

865 vues

Publié le

De nos jours, les applications utilisent de plus en plus du temps réel. Afin de répondre a cette problématique, nodejs et socket.io proposent une api permettant de développer simplement un serveur basé sur les événements permettant de traiter des informations en temps réel en utilisant les sockets.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
865
Sur SlideShare
0
Issues des intégrations
0
Intégrations
24
Actions
Partages
0
Téléchargements
66
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le web en temps réel - Socket.io - NodeJs

  1. 1. Socket.io Le web en temps réel /Thomas Ferney Clément De Figueiredo
  2. 2. http://realtimeweb.antiseptikk.fr
  3. 3. Sommaire Introduction au concept Méthodes de communication en temps réel Node.js Socket.io Applications Conclusion
  4. 4. Web en temps réel Collaboratif + Multi-écrans + Nouveaux contextes
  5. 5. Méthode de communication en temps réel
  6. 6. Pooling effectué toutes les secondes Risque de surcharge en cas de forte affluence
  7. 7. Ajax Long Pooling Variation du pooling Connexion ouverte en attente de données Connexion fermée par une réponse ou par un timeout Nombreuses connexions ouvertes en même temps
  8. 8. Ajax Multipart Streaming Méthode basée sur Gecko(Netscape Navigator, Firefox...) Ajout du paramètre multipart = trueà l'objet XMLHttpRequest Utilisation du content multipart/x-mixed-replacequi permettra de streamer les données
  9. 9. Forever iframe Cacher une iframe avec les mentions : Transfer-encoding : chunked Connection : keep-alive Barre de chargement infini sur certains navigateurs
  10. 10. WebSockets Communication bi-directionnelle sur un socket TCP Méthodes standards sur tous les navigateurs
  11. 11. Environnement d'exécution de programme JavaScript développé en C++ Interprétation du code à l'aide du moteur V8 de Google Gestion d'une bibliothèque de modules avec NPM
  12. 12. Création du serveur var http = require('http'),     fs = require('fs'); http.createServer(function(req, res) {     res.writeHead(200, {         'Content­Type': 'text/html',         'Access­Control­Allow­Origin': '*'     });     var readStream = fs.createReadStream(__dirname + '/index.html');     readStream.pipe(res); }).listen(3000); console.log('http://localhost:3000');
  13. 13. Framework JavaScript utilisant les WebSockets Support étendu des navigateurs Disponible depuis NPM
  14. 14. Exemple d'implémentation serveur var app = require('http').createServer(handler); var io = require('socket.io')(app); var fs = require('fs'); app.listen(80); function handler (req, res) {     fs.readFile(__dirname + '/index.html',     function (err, data) {         res.writeHead(200);         res.end(data);     }); } io.on('connection', function(socket) {     socket.emit('news', { hello: 'world' }); });
  15. 15. Exemple d'implémentation client <script src="/socket.io/socket.io.js"></script> <script> </script>     var socket = io('http://localhost');     socket.on('news', function (data) {         console.log(data);     });
  16. 16. Application de monitoring Daemon en C BDD MySQL Dashboard HTML / JavaScript sur un serveur Node.js
  17. 17. Application de listes de courses collaboratives BDD MongoDB Web app AngularJS sur Node.js
  18. 18. Conclusion Node.js Facile Puissant Socket.io Abstraction API bien fournie Temps réel en quelques lignes
  19. 19. Merci à tous ! Contact : /@MrAntiseptikk @CaptainKali

×