Có thể điều này cũng có thể giúp ích cho bạn. Tôi gặp một số khó khăn trong việc xoay quanh cách hoạt động của socket.io, vì vậy tôi đã cố gắng thu thập một ví dụ nhiều nhất có thể.
Tôi đã điều chỉnh ví dụ này từ ví dụ được đăng ở đây: http://socket.io/get-started/chat/
Đầu tiên, hãy bắt đầu trong một thư mục trống và tạo một tệp rất đơn giản có tên là package.json Đặt phần sau vào đó.
{
"dependencies": {}
}
Tiếp theo, trên dòng lệnh, sử dụng npm để cài đặt các phụ thuộc chúng ta cần cho ví dụ này
$ npm install --save express socket.io
Quá trình này có thể mất vài phút tùy thuộc vào tốc độ kết nối mạng / CPU / v.v. Để kiểm tra xem mọi thứ đã diễn ra như kế hoạch chưa, bạn có thể xem lại tệp package.json .
$ cat package.json
{
"dependencies": {
"express": "~4.9.8",
"socket.io": "~1.1.0"
}
}
Tạo một tệp có tên server.js Đây rõ ràng sẽ là máy chủ của chúng tôi được chạy bởi nút. Đặt mã sau vào đó:
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);
Tạo tệp cuối cùng có tên là index.html và đặt mã sau vào đó.
<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>
Bây giờ bạn có thể kiểm tra ví dụ rất đơn giản này và thấy một số đầu ra tương tự như sau:
$ node server.js
listening on *:3001
0.9575486415997148
0.7801907607354224
0.665313188219443
0.8101786421611905
0.890920243691653
Nếu bạn mở trình duyệt web và trỏ nó đến tên máy chủ mà bạn đang chạy quy trình nút, bạn sẽ thấy các số tương tự xuất hiện trong trình duyệt của mình, cùng với bất kỳ trình duyệt được kết nối nào khác nhìn vào cùng một trang đó.