使用node.js传递Http响应到网页的流传输

问题描述:

在此question之后,我想知道是否有一种方法,无需使用socket.io,以避免缓冲大多数导航器上发生的响应。因此,例如,如果节点服务器每5次发出一次:'hello world',我可以在数据可用时立即将它们打印在网页上。使用node.js传递Http响应到网页的流传输

有没有办法做到这一点?

不幸的是,这不是web浏览器的工作方式。如果你想使用这种类型的功能而不使用WebSockets(或者socket.io后备),你可以试试Server-Sent Events。有关示例,请参阅this gist(在coffeescript中)。此外,旧版浏览器的here is a polyfill

+0

感谢您的链接linus,我会研究这些选项,并看看最终结果如何。 – silkAdmin 2012-03-22 17:30:40

是的,这是可行的。这就是comet streaming服务器的工作原理。

有关Node.js的示例,请参见http://faye.jcoglan.com/

+0

感谢这看起来很像我需要什么,你是否知道一个PHP的等价物? – silkAdmin 2012-03-22 17:26:47

+0

不是特别的。谷歌搜索“PHP彗星服务器”有一些结果,并且也出现了这个[相关问题](http://*.com/questions/603201/using-comet-with-php)。 – 2012-03-23 03:27:46