这个Socket.IO代码是否创建了阻塞连接?

时间:2011-07-12 01:52:15

标签: javascript node.js socket.io evented-io

编写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');
  });
});

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

不,node.js socket.io服务器使用标准节点非阻塞api

侦听tcp

也就是说,你的控件会立即转到sio.sockets.on(..);之后的下一个语句,这个调用中唯一发生的事情是'构造javascript函数对象abd赋值给侦听器数组'。