可以Node.js运行在客户端与Chrome的本地客户端(即将发布)

Google Chrome的本地客户即将发布。 http://blog.chromium.org/2011/02/native-client-getting-ready-for-takeoff.html这将允许node.js在浏览器中运行,使分布式应用程序彼此进行通信,而无需通过服务器?

node.js不是纯Javascript代码。 有一部分是用C ++编写的,所以这是不太可能的。

分布式通信有几种可能性。 一种是使用浏览器中的Websockets API来与其他浏览器通信。 另一个是在浏览器的同一台机器上运行node.js作为一个单独的服务器进程。

这是构build分布式应用程序的更好select,因为它减less了对浏览器的依赖。 现在,Node.js的0.5.0版本在Cygwin上生成OK,并且可以将Cygwin的基本组件捆绑为一个独立的二进制文件分发给Windows客户端。 老版本的node.js以前是这样分发的。

现在有几个解决scheme可以让你在chrome中运行一些Node模块。 看看这些链接:

  • node-webkit是基于Chromium和node.js的应用程序运行时。

  • Chrome中的Node-chromify ,Node.js。

  • 在Chrome浏览器打包的应用程序中,通过谷歌关于NodeJS的投射

截至今天,Node.js将不会运行在NaCl中,但是最终可能是可能的。 节点使用V8 JavaScript引擎来执行代码。 目前,在NaCl内运行的V8引擎没有可靠的端口。

从2014年1月28日Brad Chen发表的评论,在线程“有人试图将Blink和V8移植到Native Client?”中:

V8已经移植到Native Client上,尽pipe这个端口使用了一个让V8生成ARM指令的诡计,然后使用便携式ARM解释器来避免将V8代码生成器移植到NaCl。 您应该能够通过检查V8源代码并使用目标nacl_ia32或nacl_x64执行标准构build/testing说明来观察。

https://groups.google.com/d/msg/native-client-discuss/Xw5yCe3Ubwc/fgm6M092DXwJ

考虑到V8已经能够在NaCl下运行了,尽pipe这种方法不可靠,但假设Node最终能够运行在NaCl中是合理的。 我意识到你的问题现在已经三年了,但我认为我会提供一个更新的答案,因为在浏览器中运行本地代码(甚至是OpenGL代码)现在已经成为现实。

你不能在浏览器中运行Node.js。

但是,如果您想进行P2P连接,则可能是浏览器安装了最新版本的Flash(Flash 10)。 在最新的版本中,他们介绍了RTMFP ,让你在不通过服务器的情况下进行P2P连接。 如果你想在Javascript中使用它,你可以build立一个桥梁,或者你可以看看我最近刚刚开始的那个项目 。