如何阻止在浏览器中缓冲流式Comet通信

时间:2010-02-05 18:26:55

标签: http iframe comet push chunked-encoding

我正在尝试将数据包从HTTP服务器推送到浏览器,使用Comet“forever iframe”并使用Transfer-Encoding:chunked header从服务器提供脚本标记。我发现我的脚本标签没有被立即解释,我必须在浏览器开始响应它们之前发送一些块。在IE8的情况下,这似乎需要像256字节的数据(我没有精确检查),在Firefox 3.5.7中它似乎超过一千字节。在连接关闭之前,我还没有设法让Chrome响应脚本标记。但是在所有情况下,如果我结束分块数据(使用'0'块),则解释任何缓冲的块。我在Safari上发现了一些reference这种行为,但没有找到其他浏览器的任何此类信息。

我想知道的是,如何在发送这些脚本标签时可靠地执行这些脚本标签,而不会出现某种延迟执行的缓冲机制?

1 个答案:

答案 0 :(得分:1)

你必须永远使用iframe吗?如果您使用websockets并回退到flash xml套接字,则可以支持当前使用的所有浏览器(可能在功能手机上除外)并获得真正的套接字api。