浅析node.js中close事件


在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("<html><head><meta charset='utf-8' /></head>");

             res.write("你好");

             res.end();

         },10000);

     }

 });

 

 server.listen(1337,"localhost",function(){

     console.log("开始监听"+server.address().port+"......");

 });

上面代码是这样的:

当客户端发生请求后,经过10秒后向客户端发送"你好".同时监听close事件.

只要在10秒内关闭了服务器,服务端就会出现"连接被中断",因为10秒内,并不会执行res.end()方法.

教你如何使用node.js制作代理服务器
下面代码实现的功能是这样的:首先创建一个HTTP服务器,当服务器接收到客户端的请求后,向"www.taobao.com"网站请求数据,当从该网站接受到的响应数据后,将

node.js操作mongoDB数据库示例分享
连接数据库varmongo=require("mongodb");varhost="localhost";varport=mongo.Connection.DEFAULT_PORT;varserver=newmongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服

node.js中的定时器nextTick()和setImmediate()区别分析
1.node中使用定时器的问题在于,它并非精确的.譬如setTimeout()设定一个任务在10ms后执行,但是在9ms后,有一个任务占用了5ms,再次轮到定时器时,已经耽误了4ms.