我对socket.io非常困惑,我试图通过使用socket.io在node.js中创建一个简单的聊天服务器应用程序。我想问一些问题
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
io.on('connection', function(socket) {
io.emit('online');
console.log('user is online');
socket.on('disconnect', function() {
io.emit('user is disconnected');
console.log('user is disconnected');
});
socket.on('chat', function(msg) {
console.log("message: " + msg);
io.emit('chat', msg);
});
socket.broadcast.emit('user connected');
});
server.listen(3000);
1)根据上述代码,我不明白为什么我们需要在io
内再次调用io.on('connection')
变量,我可以改用socket
吗? / p>
2)socket
变量是什么? io和socket之间有什么区别?
3)什么是io.emit
和io.on
或socket.emit
和socket.on
?
我知道io是socket.io服务器,但为什么我们需要使用io.emit
代替socket.emit
?
请详细向我解释,因为我是刚开始学习node.js和socket.io的新手。请不要对我太苛刻:)