http.ServerResponse 객체의 end 메소드가 호출되기 전에 연결이 중단되면 http.ServerResponse 객체의 닫기 이벤트가 트리거됩니다.
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("");
res.write("안녕하세요");
res.end();
},10000);
}
});
server.listen(1337,"localhost",function(){
console.log("모니터링 시작" server.address().port "......");
});
위 코드는 다음과 같습니다.
클라이언트가 요청하면 10초 후에 클라이언트에게 "Hello"를 보냅니다. 동시에 닫기 이벤트를 수신합니다.
서버가 10초 이내에 종료되면 res.end() 메소드가 10초 이내에 실행되지 않기 때문에 서버에 "Connection Interrupted"라는 메시지가 나타납니다.