0

我使用连接模块在 node.js 上编写了服务器。当我发出单个请求时,它工作正常。但是当我向服务器发出 2/3 个同时请求时,chrome 浏览器开始加载我的本地主机,其状态显示等待 20-30 秒。

仔细观察,我观察到 http 请求在这么长的时间内没有到达服务器。那么我的代码可能有什么问题?

PS:我在stackoverflow上得到了与此相关的问题,但我没有得到所需的答案。代码在这里:

var connect = require('connect');

function data(){
	this.name='aman';
	this.age='25';
}

var my_data,count=0;

var app = connect()

	.use(connect.bodyParser())

	.use(connect.static('public'))	
	.use(function (req, res) {
		if(req.url === '/favicon.ico'){
			console.log('favicon req. prevented');
		}
		else{
			if(req.url === "/revert"){
    		res.setHeader('Content-Type', 'application/json');
			my_data=new data();
			my_data.name=req.body.name;
			my_data.age=req.body.age;
			console.log('top' + count);
			count++;
			res.write(JSON.stringify(my_data));
			res.end();
			}
			else{
				console.log('bottom' + count);
				count++;
				res.write(JSON.stringify(my_data));
				res.end();
			}
		}

	})
	.listen(3000);

console.log('server started');

4

1 回答 1

0

您永远不会res.end();在您的if(req.url === '/favicon.ico')块中调用,因此浏览器可能正在耗尽其尝试下载网站图标的连接池。

于 2015-01-10T04:30:41.730 回答