Javascript网络服务器?

sky*_*gle 7 javascript

是否有可能在Javascript中构建一个微观(概念证明)Web服务器?

有没有人这样做过?


编辑: 这里显然需要明确的澄清.问题最终是关于如何在浏览器的初始请求关闭后将数据从服务器推送到浏览器.换句话说,如何使浏览器接受服务器发起的后续请求.

是否需要在浏览器中安装基于javascript的Web服务器,还是有其他方法?

Poi*_*nty 15

查看RingoJS项目或Node.js. 答案是"是",而不仅仅是"微观"或"概念证明".

RingoJS

Node.js的

用于节点的express.js框架

  • 不,node.js是**服务器端**技术.它是基于Javascript的,所以当然*某些*代码在浏览器和服务器之间可能很常见,但是由于很多原因你无法在浏览器中真正实现服务器. (3认同)

use*_*716 3

如果您说您希望能够将数据推送到已与您的服务器建立联系的浏览器,我会在 Comet 服务器上进行一些研究。

我对此一无所知,所以我只会向您传递几个链接,希望能为您指明正确的方向。

来自维基百科 Comet_(编程)

Comet 是一种 Web 应用程序模型,其中长期持有的 HTTP 请求允许 Web 服务器将数据推送到浏览器,而无需浏览器明确请求。1 Comet 是一个总括术语,包含实现这种交互的多种技术。所有这些方法都依赖于浏览器默认包含的功能(例如 JavaScript),而不是非默认插件。Comet 方法与原始的 Web 模型不同,在原始模型中,浏览器一次请求完整的网页。[3]

这是一种叫做 APE 的东西。我对此一无所知,但你可能会发现它很有帮助。

来自 APE 网站:

APE 是专为 Ajax Push 设计的全功能开源解决方案。它包括一个 comet 服务器和一个 Javascript 框架。APE 允许将任何类型的实时数据流传输到 Web 浏览器,而无需在客户端安装任何内容。

  • @oberhamsi:所以你对我投了反对票?事实证明,这“正是”OP 想要的。花点时间阅读您上面的评论。这是来自OP的声明,它回答了这个问题。我留下这个答案的原因是我做了你显然没有花时间做的事情。我读了其他评论中的对话,并推断这就是OP所需要的,但不知道如何表达。如果您执行相同的操作,您将看到 OP 想要从服务器向浏览器“发起”请求,这仅在浏览器发出初始请求时才有意义。好吧,至少你发表了评论。 (3认同)