SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
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 timeout
Nombreuses connexions ouvertes en même temps
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
Forever iframe
Cacher une iframe avec les mentions :
Transfer-encoding : chunked
Connection : keep-alive
Barre de chargement infini sur certains navigateurs
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
Gestion d'une bibliothèque de modules avec NPM
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');
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 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' });
});
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);
    });
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

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (7)

NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile App
 
Cas amazon final
Cas amazon   finalCas amazon   final
Cas amazon final
 
Présentation amazon final
Présentation amazon finalPrésentation amazon final
Présentation amazon final
 
Tendances Web Design 2017/2018
Tendances Web Design 2017/2018Tendances Web Design 2017/2018
Tendances Web Design 2017/2018
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Personnaliser un thème sous Wordpress
Personnaliser un thème sous WordpressPersonnaliser un thème sous Wordpress
Personnaliser un thème sous Wordpress
 
Shall we play a game?
Shall we play a game?Shall we play a game?
Shall we play a game?
 

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

Presentation websockets
Presentation websocketsPresentation websockets
Presentation websocketsBert Poller
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
ServeurWeb-ProtocoleHttpdefinitionet.pdf
ServeurWeb-ProtocoleHttpdefinitionet.pdfServeurWeb-ProtocoleHttpdefinitionet.pdf
ServeurWeb-ProtocoleHttpdefinitionet.pdfnebibieg
 
[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary ReasearchesManavai Teikituhaahaa
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Microsoft
 
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Normandie Web Xperts
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileThomas Conté
 
Programmation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoProgrammation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoRonan Amicel
 
Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0CERTyou Formation
 

Ähnlich wie Le web en temps réel - Socket.io - NodeJs (20)

Presentation websockets
Presentation websocketsPresentation websockets
Presentation websockets
 
Advanced html5
Advanced html5Advanced html5
Advanced html5
 
Cours intro
Cours introCours intro
Cours intro
 
Vert.x
Vert.xVert.x
Vert.x
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
ServeurWeb-ProtocoleHttpdefinitionet.pdf
ServeurWeb-ProtocoleHttpdefinitionet.pdfServeurWeb-ProtocoleHttpdefinitionet.pdf
ServeurWeb-ProtocoleHttpdefinitionet.pdf
 
[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches
 
Chap7 java net
Chap7 java netChap7 java net
Chap7 java net
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
 
Technologie Web.pptx
Technologie Web.pptxTechnologie Web.pptx
Technologie Web.pptx
 
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobile
 
Vpn
VpnVpn
Vpn
 
Programmation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoProgrammation web asynchrone avec Tornado
Programmation web asynchrone avec Tornado
 
Symfonytn
SymfonytnSymfonytn
Symfonytn
 
Aet pow isi_2017_chp2
Aet pow isi_2017_chp2Aet pow isi_2017_chp2
Aet pow isi_2017_chp2
 
Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0
 

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