开启辅助访问 充值VIP充值豆豆
QQ登录 自动登录 注册 找回密码
查看: 7503|回复: 0

node.js超时timeout详解_node.js

[复制链接]

该用户从未签到

156

主题

156

帖子

2万

豆豆

超级版主

光头春 发表于 2018-12-24 13:45:16 | 显示全部楼层 |阅读模式

如果在指定的时间内服务器没有做出响应(可能是网络间连接出现问题,也可能是因为服务器故障或网络防火墙阻止了客户端与服务器的连接),则响应超时,同时触发http.ServerResponse对象的timeout事件.

response.setTimeout(time,[callback]);

也可以不在setTimeout中指定回调函数,可以使用时间的监听的方式来指定回调函数.

如果没有指定超时的回调函数,那么出现超时了,将会自动关闭与http客户端连接的socket端口.如果指定了超时的回调函数,那么超时了,将会出现调用回调函数,而不会自动关闭与http客户端连接的socket端口.

复制代码 代码如下:

var http=require("http");
var server=http.createServer(function(req,res){
    if(req.url!=="/favicon.ico"){
        //超时监听
        /*res.setTimeout(1000);
        res.on("timeout",function(){
            console.log("响应超时.");
        });*/
        //超时直接回调
        res.setTimeout(1000,function(){
           console.log("响应超时.");
        });
        setTimeout(function(){
            res.setHeader("Content-Type","text/html");
            res.write("<html><head><meta charset='utf-8' /></head>");
            res.write("你好");
            res.end();
        },2000);
    }
});
server.listen(1337,"localhost",function(){
    console.log("开始监听"+server.address().port+"......");
});

运行代码结果:

删除超时的回调函数后:


其它思必达学院教程推荐:
《JavaScript高级专题课程》
第二期Discuz!模板制作开发培训视频教程(共29课)
《微软院校认证课程系列教材—网络服务器操作系统的安装》(Windows 2000 Server)70...
《火鸟网CG教程系列之VRAY篇》vray1.53 rc 2 英文版讲解[压缩包]
《互联网运营智慧——高可用可扩展网站技术实战》随书光盘镜像[光盘镜像]
《Windows 7使用技巧》(Windows 7 Secrets)(Rafael Rivera)插图版[PDF]
《新手从零学--电脑组装与维修》[光盘镜像]
《Ubuntu官方图书(第五版)2010》(The Official Ubuntu Book (5th Edition) 2010)...
《操作系统习题与解答(全美经典学习指导系列)》(Schaum's Outline of Operating Systems)((美)J. Archer Harr
《ubuntu12.10wubi安装入门》[压缩包]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站资源全部来自网络和网友分享,如有侵犯您的权益,请联系网站QQ,或发邮件至sibida@foxmail.com。本网站尊重知识产权,无意侵犯知识产品,如有,联系网站人员,会第一时间删除!

小白基地,是小白资源网的官方网站,思必达学院官网,提供最新的创业技术支持与创业资讯,提供最新的思必达教程。是IT小白网友学习资源分享基地,中国互助创业资源网。提供诸如JAVA、PHP、MySQL、ASP、C语言等各类程序开发的教程资源。

快速回复 返回顶部 返回列表
鞋子货源 服装货源一件代发 美容护肤品货源