Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Sockets
HTTP repose sur un principe de communication par requête/réponse. Seul le client
contacte le serveur, et le serveur ne peut que r épondre au client.
L’entête HTTP “Connection: Keep-Alive” permet de conserver la connection ouverte entre
client et serveur et permet au client d’envoyer autant de requêtes qu’il le désire, mais
toujours dans un contexte de requête/réponse.
Socket.io
Note: L’intégralité des communications évoqués entre le client et le serveur doit se faire via
socket.
2
3
Annexes
1. Intégration de socket.io avec un serveur standard nodejs
const http = require('http');
const socketio = require('socket.io');
// 'socket.broadcast.emit' permet d'envoyer un message à tous les autres clients connectés.
socket.broadcast.emit('server-event', { hello: 'world' });
// 'on' permet d'écouter les messages envoyés par le client (ici, nommé ‘client-event’).
socket.on('client-event', function (data) {
console.log(data);
});
});
4
2. Intégration de socket.io dans une page HTML. Des balises scripts sont utilisées pour
l’exemple mais un fichier js à part est préférable.
<html>
<head></head>
<body>
<!-- Javascript client fourni dans le module socket.io -->
<script src="/socket.io/socket.io.js"></script>
<script>
// La variable globale 'io' est fournie par socket.io.js
let socket = io('http://localhost:3000');
// Réception d’un event serveur
socket.on('server-event', function (data) {
console.log(data);
});
// Envoie d’un event au serveur
socket.emit('client-event', { data: '...' });
</script>
</body>
</html>
5