编写Node.js代码的一般规则是所有代码都应该是非阻塞的并通过事件进行通信。我想知道使用Node.js的Socket.IO库编写的代码是否创建了阻塞连接,或者它是否遵循一般的Node.js规则?
sio.sockets.on('connection', function (socket) {
socket.on('message', function (msg) {
console.log("Received message"+message);
});
socket.on('cookie', function (msg) {
console.log("Cookie Received");
console.log(msg);
});
this.send('hello');
socket.on('disconnect', function (){
console.log('Disconnected');
});
});
非常感谢任何帮助。
答案 0 :(得分:3)
不,node.js socket.io服务器使用标准节点非阻塞api
侦听tcp也就是说,你的控件会立即转到sio.sockets.on(..);
之后的下一个语句,这个调用中唯一发生的事情是'构造javascript函数对象abd赋值给侦听器数组'。