Peut-être que cela peut aussi vous aider. 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/
Commencez par démarrer dans un répertoire vide et créez un fichier très simple appelé package.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 selon la vitesse de votre connexion réseau / CPU / etc. Pour vérifier que tout s'est déroulé comme prévu, vous pouvez consulter à nouveau le fichier package.json .
$ 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 géré par nœud. 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éez le dernier fichier appelé index.html et placez-y 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 une sortie similaire à la suivante:
$ node server.js
listening on *:3001
0.9575486415997148
0.7801907607354224
0.665313188219443
0.8101786421611905
0.890920243691653
Si vous ouvrez un navigateur Web et que vous le pointez vers le nom d'hôte sur lequel vous exécutez le processus de nœud, vous devriez voir les mêmes numéros apparaître dans votre navigateur, ainsi que tout autre navigateur connecté regardant cette même page.