Tal vez esto puede ayudar a usted también. Estaba teniendo problemas para entender cómo funcionaba socket.io, así que traté de dar un ejemplo tanto como pude.
Adapté este ejemplo a partir del ejemplo publicado aquí: http://socket.io/get-started/chat/
primer lugar, comenzar en un directorio vacío, y crear un archivo muy simple llamado package.json Coloque el siguiente en él.
{
"dependencies": {}
}
A continuación, en la línea de comandos, el uso NPM para instalar las dependencias que necesitamos para este ejemplo
$ npm install --save express socket.io
Esto puede tardar unos minutos dependiendo de la velocidad de su conexión de red/CPU/etc Para comprobar que todo salió según lo planeado, puede consultar el archivo .json de nuevo.
$ cat package.json
{
"dependencies": {
"express": "~4.9.8",
"socket.io": "~1.1.0"
}
}
crear un archivo llamado server.js Esto, obviamente, será nuestro servidor gestionado por nodo. Coloque el código siguiente en él:
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);
Crear el último archivo llamado index.html y coloque el código siguiente en él.
<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>
Ahora puede probar este ejemplo muy simple y ver algunos salida similar a la siguiente:
$ node server.js
listening on *:3001
0.9575486415997148
0.7801907607354224
0.665313188219443
0.8101786421611905
0.890920243691653
Si usted abre un navegador web, y el punto al nombre de host se está ejecutando el proceso de nodo activado, debería ver aparecer los mismos números en su navegador, junto con cualquier otro navegador conectado que mire esa misma página.
¿Qué pasa con el primer ejemplo en (http://socket.io/#how-to-use)? Parece bastante simple para mí ... – maerics
Hola, es un poco tarde pero cualquiera en el futuro puede encontrar un buen tutorial aquí en el uso de socketio con nodejs. http: // programmerblog.net/using-socketio-with-nodejs/ –