客户端如何处理来自服务器的多个响应的node.js

时间:2012-02-05 18:27:00

标签: jquery node.js

似乎服务器(节点)有一个类似线程的行为,因为它处理同步请求,但我们知道客户端的javascript不支持多线程。我只是问客户端(javascript)如何处理node.js,尤其是来自服务器的多个响应? 例如,我想同时渲染两个对象。

使用node.js制作快速分阶段实时游戏应用是否合适?

有没有办法或模式来处理这个?

1 个答案:

答案 0 :(得分:2)

将节点视为指挥官,它可以无任何阻塞地处理任务监控。因此,如果您认为这样,节点不需要是多线程的,它可以在没有任何等待时间的情况下执行任务,因此无需创建新线程,因为没有任何阻塞。

你在评论中提到了套接字,想到这一点,Node有一个网络线程来监控数据的TCP / UDP连接,当它收到一个数据包时,它会告诉你的节点脚本你想要做什么使用此数据包,您立即告诉网络线程将此新数据包作为回复发送出去,然后网络线程会这样做,然后调用下一个事件。


看看下面的图片和段落,这应该解释

  

在node.js中,你不应该担心后端会发生什么:只在你做I / O时使用回调;并且保证您的代码永远不会中断,并且执行I / O不会阻止其他请求,而不必承担每个请求的线程/进程成本(例如Apache中的内存开销)。

     

拥有异步I / O是好的,因为I / O比大多数代码都要贵,我们应该做的不仅仅是等待I / O.

enter image description here

  

事件循环是“处理和处理外部事件并将其转换为回调调用的实体”。所以I / O调用是Node.js可以从一个请求切换到另一个请求的点。在I / O调用中,您的代码保存回调并将控制权返回给node.js运行时环境。当数据实际可用时,将在稍后调用回调。

来源:http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/


请务必阅读该文章,这是第一篇让我完全理解后端架构发生了什么的文章。