在http.ServerResponse對(duì)象的end方法被調(diào)用之前,如果連接被中斷,將觸發(fā)http.ServerResponse對(duì)象的close事件.
代碼如下:
var http=require("http");
var server=http.createServer(function(req,res){
if(req.url!=="/favicon.ico"){
res.on("close",function(){
console.log("連接中斷")
});
setTimeout(function(){
res.setHeader("Content-Type","text/html");
res.write("<html><head><meta charset='utf-8' /></head>");
res.write("你好");
res.end();
},10000);
}
});
server.listen(1337,"localhost",function(){
console.log("開(kāi)始監(jiān)聽(tīng)"+server.address().port+"......");
});
上面代碼是這樣的:
當(dāng)客戶端發(fā)生請(qǐng)求后,經(jīng)過(guò)10秒后向客戶端發(fā)送"你好".同時(shí)監(jiān)聽(tīng)close事件.
只要在10秒內(nèi)關(guān)閉了服務(wù)器,服務(wù)端就會(huì)出現(xiàn)"連接被中斷",因?yàn)?0秒內(nèi),并不會(huì)執(zhí)行res.end()方法.
更多信息請(qǐng)查看IT技術(shù)專欄