我想知道 Node 是如何处理连接的。我的意思是:当我运行时……
node myserver.js
...然后我发出一个请求,Node 做了什么?
我做了一个测试。我有一台运行 socket.io 的服务器。我在我的浏览器中打开两个选项卡来建立 WebSockets 连接。我检查线程 (ps -eLf),我总是得到相同的 6 个线程运行:
node 12837 12518 12837 1 6 22:29 pts/0 00:01:10 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12838 0 6 22:29 pts/0 00:00:00 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12839 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12840 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12841 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
node 12837 12518 12842 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js
我问这个是因为我想了解阻塞代码实际上阻塞了什么。
最佳答案
如果您需要了解 Node 中的异步 IO 如何在底层工作,我建议您阅读以下文档:
- libuv book
- epoll ( tutorial , manpage , wikipedia )
- kqueue ( manpage , wikipedia )
- I/O Completion Ports
关于node.js - Node.js 如何处理连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14047277/