Mungkin ini bisa membantu Anda juga. Saya mengalami beberapa masalah dalam memahami cara kerja socket.io, jadi saya mencoba merebus contoh sebanyak yang saya bisa.
Saya mengadaptasi contoh ini dari contoh yang diposting di sini: http://socket.io/get-started/chat/
Pertama, mulai di direktori kosong, dan buat file yang sangat sederhana bernama package.json Tempatkan yang berikut ini di dalamnya.
{
"dependencies": {}
}
Selanjutnya, pada baris perintah, gunakan npm untuk menginstal dependensi yang kita perlukan untuk contoh ini
$ npm install --save express socket.io
Ini mungkin memakan waktu beberapa menit tergantung pada kecepatan koneksi jaringan Anda / CPU / dll. Untuk memeriksa bahwa semuanya berjalan sesuai rencana, Anda dapat melihat file package.json lagi.
$ cat package.json
{
"dependencies": {
"express": "~4.9.8",
"socket.io": "~1.1.0"
}
}
Buat file bernama server.js Ini jelas akan menjadi server kami yang dijalankan oleh node. Tempatkan kode berikut ke dalamnya:
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);
Buat file terakhir bernama index.html dan tempatkan kode berikut ke dalamnya.
<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>
Anda sekarang dapat menguji contoh yang sangat sederhana ini dan melihat beberapa keluaran yang mirip dengan berikut ini:
$ node server.js
listening on *:3001
0.9575486415997148
0.7801907607354224
0.665313188219443
0.8101786421611905
0.890920243691653
Jika Anda membuka browser web, dan mengarahkannya ke nama host tempat Anda menjalankan proses node, Anda akan melihat nomor yang sama muncul di browser Anda, bersama dengan browser terhubung lainnya yang melihat halaman yang sama.