Forse questo può aiutare pure. Ho avuto qualche problema a girare la testa intorno a come socket.io ha funzionato, quindi ho provato a far bollire un esempio il più possibile.
mi sono adattato questo esempio dall'esempio postato qui: http://socket.io/get-started/chat/
In primo luogo, avviare in una directory vuota, e creare un file molto semplice denominato package.json Inserire il seguente in esso.
{
"dependencies": {}
}
Avanti, sulla riga di comando, l'uso NPM per installare le dipendenze di cui abbiamo bisogno per questo esempio
$ npm install --save express socket.io
Questa operazione potrebbe richiedere alcuni minuti a seconda della velocità della connessione di rete/CPU/etc Per verificare che tutto sia andato come previsto, è possibile visualizzare nuovamente il file package.json.
$ cat package.json
{
"dependencies": {
"express": "~4.9.8",
"socket.io": "~1.1.0"
}
}
creare un file chiamato server.js Questo sarà ovviamente il nostro server gestito da nodo. Inserire il seguente codice in esso:
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);
Creare l'ultimo file chiamato index.html e inserire il seguente codice in esso.
<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>
È ora possibile verificare questo esempio molto semplice e vedere alcuni output simile al seguente:
$ node server.js
listening on *:3001
0.9575486415997148
0.7801907607354224
0.665313188219443
0.8101786421611905
0.890920243691653
Se si apre un browser web, e puntarlo al nome host si sta eseguendo il processo di nodo attivo, dovresti vedere gli stessi numeri visualizzati nel tuo browser, insieme a qualsiasi altro browser connesso che guarda la stessa pagina.
Cosa c'è che non va nel primo esempio in (http://socket.io/#how-to-use)? Sembra abbastanza semplice per me ... – maerics
Ciao, è un po 'tardi ma nessuno in futuro può trovare un buon tutorial qui usando socketio con nodejs. http: // programmerblog.net/using-socketio-with-nodejs/ –