我正在编写一个基于模块(作业分配)的小型动态 HTTP 服务器,如果服务器用户在两秒钟后没有调用net
,它会发送响应。408
response.end()
无论我尝试什么,都不会调用该函数。这是另一个代码,演示了我在程序中尝试做的事情:
var NET = require("net");
var server = NET.createServer(function(socket){
console.log("In connectionHandler");
socket.on('data',function(data) {
console.log("New data");
var timer = setTimeout(function(end){
console.log("INSIDE TIMEOUT FUNCTION");
if (end) {
return;
}
throw new ERROR.ServerError('408',' Request Timeout','The \
server has timedouted');
},10,true);
for (var t = 0 ; t < 100000000000 ; t++){}
clearTimeout(timer);
})
});
server.listen(4000, function() {
console.log("server bound");
});
因此,超时设置为 10 毫秒,然后是一个很长的循环,但这不起作用。
为什么会这样?