浅析node.js中close事件_node.js
程序员文章站
2022-04-28 19:04:22
...
在http.ServerResponse对象的end方法被调用之前,如果连接被中断,将触发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(" ");
res.write("你好");
res.end();
},10000);
}
});
server.listen(1337,"localhost",function(){
console.log("开始监听"+server.address().port+"......");
});
复制代码 代码如下:
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秒后向客户端发送"你好".同时监听close事件.
只要在10秒内关闭了服务器,服务端就会出现"连接被中断",因为10秒内,并不会执行res.end()方法.
推荐阅读
-
Node.js使用supervisor进行开发中调试的方法
-
node.js中fs.stat与fs.fstat的区别详解
-
node.js中express-session配置项详解
-
Node.js中.pfx后缀文件的处理方法
-
在node.js中怎么屏蔽掉favicon.ico的请求
-
详解Node.js中path模块的resolve()和join()方法的区别
-
Node.js中的不安全跳转如何防御详解
-
深入浅析Node.js 事件循环、定时器和process.nextTick()
-
node.js中express中间件body-parser的介绍与用法详解
-
Node.js中的http请求客户端示例(request client)