Peut-être que cela peut vous aider aussi. J'avais du mal à comprendre le fonctionnement de socket.io, alors j'ai essayé de résumer un exemple autant que possible.
J'ai adapté cet exemple à partir de l'exemple posté ici : http://socket.io/get-started/chat/
Tout d'abord, commencez dans un répertoire vide, et créez un fichier très simple appelé paquet.json Placez-y les éléments suivants.
{
"dependencies": {}
}
Ensuite, sur la ligne de commande, utilisez npm pour installer les dépendances dont nous avons besoin pour cet exemple
$ npm install --save express socket.io
Cela peut prendre quelques minutes en fonction de la vitesse de votre connexion réseau / CPU / etc. Pour vérifier que tout s'est déroulé comme prévu, vous pouvez consulter l'écran suivant paquet.json de nouveau.
$ cat package.json
{
"dependencies": {
"express": "~4.9.8",
"socket.io": "~1.1.0"
}
}
Créez un fichier appelé server.js Ce sera évidemment notre serveur exécuté par node. Placez-y le code suivant :
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
//send the index.html file for all requests
res.sendFile(__dirname + '/index.html');
});
http.listen(3001, function(){
console.log('listening on *:3001');
});
//for testing, we're just going to send data to the client every second
setInterval( function() {
/*
our message we want to send to the client: in this case it's just a random
number that we generate on the server
*/
var msg = Math.random();
io.emit('message', msg);
console.log (msg);
}, 1000);
Créer le dernier fichier appelé index.html et y placer le code suivant.
<html>
<head></head>
<body>
<div id="message"></div>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
socket.on('message', function(msg){
console.log(msg);
document.getElementById("message").innerHTML = msg;
});
</script>
</body>
</html>
Vous pouvez maintenant tester cet exemple très simple et voir des résultats similaires à ceux qui suivent :
$ node server.js
listening on *:3001
0.9575486415997148
0.7801907607354224
0.665313188219443
0.8101786421611905
0.890920243691653
Si vous ouvrez un navigateur Web et le faites pointer vers le nom d'hôte sur lequel vous exécutez le processus de nœud, vous devriez voir les mêmes chiffres apparaître dans votre navigateur, ainsi que dans tout autre navigateur connecté qui regarde la même page.