谷歌Chrome的原生客户端即将发布。http://blog.chromium.org/2011/02/native-client-getting-ready-for-takeoff.html 这是否使得node.js能够在浏览器中运行,从而使分布式应用程序之间可以直接通信而无需通过服务器?
谷歌Chrome的原生客户端即将发布。http://blog.chromium.org/2011/02/native-client-getting-ready-for-takeoff.html 这是否使得node.js能够在浏览器中运行,从而使分布式应用程序之间可以直接通信而无需通过服务器?
现在有几种方案可以让你在Chrome中运行一些Node模块。请查看以下链接:
node-webkit 是基于Chromium和node.js的应用运行时。
Node-chromify,在Chrome浏览器中运行Node.js。
Google的屏幕录制视频 ,介绍如何在Chrome打包应用程序中使用NodeJS。
https://groups.google.com/d/msg/native-client-discuss/Xw5yCe3Ubwc/fgm6M092DXwJ
考虑到V8已经能够在NaCl下运行,尽管存在不可靠的hack,可以合理地假设Node最终也能在NaCl上运行。我知道你的问题已经三年了,但是考虑到现在在浏览器中运行本地代码甚至OpenGL代码已经成为现实,所以我想提供一个更新的答案。node.js不是纯JavaScript代码。其中有部分是用C++编写的,因此这是不太可能的。
有几种分布式通信的可能性。一种是使用浏览器中的Websockets API与其他浏览器进行通信。另一种是在与浏览器相同的机器上作为单独的服务器进程运行node.js。
对于构建分布式应用程序来说,第二种选择更好,因为它减少了对浏览器的依赖。现在,node.js的0.5.0pre版本可以在Cygwin上正常构建,并且可以将Cygwin的基本组件捆绑成一个独立的二进制文件以分发给Windows客户端。旧版本的node.js曾经以这种方式分发。
你不能在浏览器中运行Node.js。
然而,如果你想进行P2P连接,只要浏览器安装了最新版本的Flash(Flash 10),就可以实现。在最新版本中,他们引入了RTMFP,它可以让你直接进行P2P连接,无需通过服务器。如果你想在Javascript中使用它,你可以建立一个桥梁,或者你可以看看我最近开始的一个项目,它正是这样做的。