Socket.io
Le web en temps réel
/Thomas Ferney Clément De Figueiredo
http://realtimeweb.antiseptikk.fr
Sommaire
Introduction au concept
Méthodes de communication en temps réel
Node.js
Socket.io
Applications
Conclusion
Web en temps réel
Collaboratif + Multi-écrans + Nouveaux contextes
Méthode de communication en
temps réel
Pooling effectué toutes les secondes
Risque de surcharge en cas de forte affluence
Ajax Long Pooling
Variation du pooling
Connexion ouverte en attente de données
Connexion fermée par une réponse ou par un ...
Ajax Multipart Streaming
Méthode basée sur Gecko(Netscape Navigator, Firefox...)
Ajout du paramètre multipart = trueà l'ob...
Forever iframe
Cacher une iframe avec les mentions :
Transfer-encoding : chunked
Connection : keep-alive
Barre de chargeme...
WebSockets
Communication bi-directionnelle sur un socket TCP
Méthodes standards sur tous les navigateurs
Environnement d'exécution de programme JavaScript développé en
C++
Interprétation du code à l'aide du moteur V8 de Google
...
Création du serveur
var http = require('http'),
    fs = require('fs');
http.createServer(function(req, res) {
    res.wri...
Framework JavaScript utilisant les WebSockets
Support étendu des navigateurs
Disponible depuis NPM
Exemple d'implémentation serveur
var app = require('http').createServer(handler);
var io = require('socket.io')(app);
var ...
Exemple d'implémentation client
<script src="/socket.io/socket.io.js"></script>
<script>
</script>
    var socket = io('ht...
Application de monitoring
Daemon en C
BDD MySQL
Dashboard HTML / JavaScript sur un serveur Node.js
Application de listes de courses
collaboratives
BDD MongoDB
Web app AngularJS sur Node.js
Conclusion
Node.js
Facile
Puissant
Socket.io
Abstraction
API bien fournie
Temps réel en quelques lignes
Merci à tous !
Contact : /@MrAntiseptikk @CaptainKali
Prochain SlideShare
Chargement dans…5
×

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

871 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
871
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

×