Node.js如何从网络/ TCP / HTTP连接角度工作? WCF可以模仿吗?

时间:2011-03-13 19:13:46

标签: jquery wcf node.js wcf-client servicebus

我的理解是node.js是一个面向Linux世界的python应用程序。每个人似乎都非常满意它处理许多并发连接的速度和能力。

我来自Microsoft背景,并认为node.js可以使用WCF实现。

有人可以告诉我node.js如何在网络后台运行,并可选择提供洞察,知道这可以移植到WCF或Azure Service Bus吗?

2 个答案:

答案 0 :(得分:3)

Node是一个 Javascript 框架, favors 需要一种事件驱动的方法来编写网络服务。 Node不会阻塞网络操作(通常是网络编程的工作方式),而是为您提供在有趣的事情发生时触发的事件处理程序(客户端连接,字节到达,DNS查询返回,& c。)。

因此,Node非常适合realtime web apps并且正在广泛探索。由于它是一个Javascript框架,现在可以使用host of interesting libraries节点。他们中的一些人隐藏了very cute API背后的难以置信的力量。

binary versions of Node for Windows,但它们尚未被视为稳定。节点比WCF / Azure低得多 - 它是套接字,DNS,HTTP和& c的事件驱动包装器。如果你愿意的话。除了事件驱动之外,它不强制执行关于如何实现网络服务(例如合同或数据编组)的任何要求。我相信在这些技术之上实现Node克隆会损害低延迟(至少),但也许更有资格的人可以判断它是否可以完成。

PS。 The Node website很好地解释了它是如何运作的。

PPS。可能相关的,虽然我没有时间阅读它,但是Rx for .NET

答案 1 :(得分:1)

Node.js是一个(非常好的)编程模型,它充分利用了Javascript在异步编程中的适用性来实现异步Web应用程序。原理与Windows上的异步编程模型非常相似,尤其是在.NET中(WCF非常支持),其中所有工作都是在I / O线程调用的回调上完成的,并且应用程序永远不会锁定线程。 Node.js围绕这个基础机制创建了一个严格的JS编程模型,以便更好地扩展应用程序。因此,与这里的一些人所说的相反,Node.js与WCF完全处于同一层/级别。从协议的角度来看,Node.js实现可能总是位于应用程序和底层HTTP基础设施提供的HTTP侦听器之间。