在http.ServerResponse對象的end方法被調(diào)用之前,如果連接被中斷,將觸發(fā)http.ServerResponse對象的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("開始監(jiān)聽"+server.address().port+"......");
});
上面代碼是這樣的:
當客戶端發(fā)生請求后,經(jīng)過10秒后向客戶端發(fā)送"你好".同時監(jiān)聽close事件.
只要在10秒內(nèi)關閉了服務器,服務端就會出現(xiàn)"連接被中斷",因為10秒內(nèi),并不會執(zhí)行res.end()方法.
更多信息請查看IT技術專欄