通过HTTP Streaming Comet,我的意思是数据从服务器推送后不会关闭连接的“永远的iframe”/“永远xhr”变体,而不是标准轮询和长轮询,它关闭并重新发送新的请求每个服务器推送事件.
我看了一下dojo.io.cometd软件包,似乎只有轮询实现.我也发现了this example,但即使经过一些修补,我也不会在webkit中工作(我在其他地方工作). This announcement from the safari blog似乎表示可以用xhr,但是找不到任何代码或文档,也不能让它工作.
有没有人知道在Webkit浏览器(Safari和Chrome)中实现HTTP流彗星的技术,脚本,库或演示?
更新
经过一番修补,我发现有两件事情需要做,以便通过XHR在Safari中使用http流:
>响应需要有一个Content-Type:multipart / x-mixed-replace
>在浏览器始终显示更新之前,响应需要发送几个“噪点”字符.我假设这与填充一些内部缓冲区有关.
更新2
我终于可以使用iframe技术在所有浏览器中工作.解决方案的注意事项是只有基于WebKit的浏览器才能收到multipart / x-mixed-replace标头.
解决方法
根据维基百科,HTTP Streaming彗星应该是可能在每个浏览器. “没有框架的页面布局”,Ajax:最终指南. O’Reilly Media,pp.320. ISBN 0596528388,是引用这个信息的参考,所以也许这本书有一个建议如何做到这一点.
另外http://meteorserver.org/还有一个演示,我刚刚在Chrome中确认,客户端库是将数据推送到客户端的服务器.