chrome - 不要等到收到所有数据 - node.js

时间:2011-03-24 13:47:24

标签: google-chrome node.js keep-alive

我正在尝试使用node.js以及保持http连接打开的可能性,以便稍后发送新数据。就像单向插座一样。

我有以下node.js http服务器:

var http = require("http");

var s = http.createServer(function(req,res){    
    var i = 0;
    res.writeHead(200,{'content-type': 'text/plain'});
    var iv = setInterval(function(){        
        res.write((i++)+"");
        if(i == 50){
            clearInterval(iv);
            res.end("");

        }
    },1000);
});
s.listen(8000);

当我在firefox中向此服务器发出请求时,我每秒都会得到一个新号码,直到达到50号。

在chrome中,它会等待50秒,然后它会立即给我所有数字。如何在chrome中实现firefox的相同行为?

2 个答案:

答案 0 :(得分:3)

我找到了答案:

Google Chrome and Streaming HTTP connections?

奇怪的是,我必须首先发送这么多字节才能启用流媒体,但它确实有效。

我的Chrome首先需要1024字节。

<强>更新

或者,您可以将内容类型设置为text / javascript。然后立即开始流式传输!

答案 1 :(得分:0)

浏览器不必实现部分ajax响应的功能,看看谷歌,每个浏览器对于这个问题有很多不同的解决方法。