首页 > 代码库 > bigpipe nodejs

bigpipe nodejs

/** * Created with JetBrains WebStorm. * User: zhangyi * Date: 13-4-23 * Time: 上午10:57 * To change this template use File | Settings | File Templates. */var http = require(‘http‘);var sys = require(‘sys‘);var url = require("url");http.createServer(function(request, response) {    response.writeHead(200, {"Content-Type" : "text/html"});    response.write("<!Doctype html><html><head>");    response.write("<style type=‘text/css‘>div{border:2px solid #4F81BD; margin:30px; padding: 10px;}</style>");    response.write("<script type=\"text/javascript\">function arrived(id,text) { var b=document.getElementById(id); b.innerHTML = text; }</script>");    response.write("</head><body><div>Progressive Loading");    for(var i = 0; i < 6; i++) {        response.write("<div id=‘" + i + "‘>Loading...</div>");    }    response.write("</div>");    var down = 6;    for (i = 0; i < 6; i++) {        var proxy = http.createClient(2000, "localhost");        var proxyRequest = proxy.request("GET", "/?id=" + i, {"host" : "localhost"});        proxyRequest.addListener(‘response‘, function (proxyResponse) {            --down;            proxyResponse.addListener(‘data‘, function(chunk) {                response.write(chunk, ‘binary‘);            });            proxyResponse.addListener(‘end‘, function() {                if(down == 0) {                    response.end();                }            });        });        proxyRequest.end();    }    response.write("</body></html>");}).listen(8080);http.createServer(function(request, response) {    var delay = Math.round(Math.random() * 8000);    /*    var params = url.parse(request.url, true);    var delay = params.query.id * 3000; console.log(delay);    */    setTimeout(function() {        var params = url.parse(request.url, true);        var id = params.query.id;        response.writeHead(200, {"Content-Type" : "text/html"});        var content = "<span>Content of Module " + id + "</span>";        response.write("<script>" +            "arrived(‘" + id + "‘, ‘" + content + "‘);" +            "</script>");        response.end();    }, delay);}).listen(2000);

 

原文:http://www.cnblogs.com/meteoric_cry/archive/2013/04/23/3037384.html

bigpipe nodejs