全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

从零开始学习Node.js系列教程五:服务器监听方法示例

本文实例讲述了Node.js服务器监听方法。分享给大家供大家参考,具体如下:

httpsnifferInvoke.js

var http = require('http');
var sniffer = require('./httpsniffer');
var server = http.createServer(function(req, res){
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello, World!\n');
});
sniffer.sniffOn(server);
server.listen(3000);

httpsniffer.js

//http sniffer 监听每个服务器事件,然后输出每个事件的相关信息
var url = require('url');
var util = require('util');
exports.sniffOn = function(server){
  server.on('request', function(req, res){
    util.log('e_request');
    util.log(reqToString(req));
  });
  server.on('close', function(error){
    util.log('e_close error=' + error);
  });
  server.on('checkContinue', function(req, res){
    util.log('e_checkContinue');
    util.log(reqToString(req));
    res.writeContinue();
  });
  server.on('upgrade', function(req, socket, head){
    util.log('e_upgrade');
    util.log(reqToString(req));
  });
  server.on('clientError', function(){
    util.log('e_clientError');
  });
}
var reqToString = function(req){
  var ret = 'request' + req.method + ' ' + req.httpVersion + ' ' + req.url + '\n';
  ret += JSON.stringify(url.parse(req.url, true)) + '\n';
  var keys = Object.keys(req.headers);
  for (var i = 0; i < keys.length; i++){
    var key = keys[i];
    ret += i + ' ' + key + ': ' + req.headers[key] + '\n';
  }
  if (req.trailers) ret += req.trailers + '\n';
  return ret;
}
exports.reqToString = reqToString;

希望本文所述对大家nodejs程序设计有所帮助。


# Node.js  # 服务器  # 监听  # 从零开始学习Node.js系列教程之设置HTTP头的方法示例  # 从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析  # 从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例  # 从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例  # 从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例  # 从零开始学习Node.js系列教程四:多页面实现的数学运算示例  # 从零开始学习Node.js  # 给大家  # 相关信息  # 所述  # 程序设计  # 讲述了  # Content  # Type  # writeHead  # function  # req  # res  # text  # return  # url  # listen  # plain  # World  # sniffOn  # httpsnifferInvoke  # pre 


相关文章: 如何破解联通资金短缺导致的基站建设难题?  如何撰写建站申请书?关键要点有哪些?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  制作农业网站的软件,比较好的农业网站推荐一下?  如何快速搭建响应式可视化网站?  如何快速搭建安全的FTP站点?  建站主机是什么?如何选择适合的建站主机?  MySQL查询结果复制到新表的方法(更新、插入)  代刷网站制作软件,别人代刷火车票靠谱吗?  黑客如何通过漏洞一步步攻陷网站服务器?  PHP 500报错的快速解决方法  深圳网站制作培训,深圳哪些招聘网站比较好?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  建站之星安装提示数据库无法连接如何解决?  家庭建站与云服务器建站,如何选择更优?  详解jQuery中基本的动画方法  如何用狗爹虚拟主机快速搭建网站?  Swift开发中switch语句值绑定模式  建站VPS推荐:2025年高性能服务器配置指南  南平网站制作公司,2025年南平市事业单位报名时间?  建站之星如何防范黑客攻击与数据泄露?  北京制作网站的公司,北京铁路集团官方网站?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  企业微网站怎么做,公司网站和公众号有什么区别?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  网站制作服务平台,有什么网站可以发布本地服务信息?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何选择PHP开源工具快速搭建网站?  h5在线制作网站电脑版下载,h5网页制作软件?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  详解jQuery停止动画——stop()方法的使用  建站之星IIS配置教程:代码生成技巧与站点搭建指南  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何制作算命网站,怎么注册算命网站?  如何快速查询域名建站关键信息?  h5网站制作工具有哪些,h5页面制作工具有哪些?  如何在搬瓦工VPS快速搭建网站?  如何选择高性价比服务器搭建个人网站?  如何通过云梦建站系统实现SEO快速优化?  手机网站制作与建设方案,手机网站如何建设?  建站之星在线版空间:自助建站+智能模板一键生成方案  如何快速搭建虚拟主机网站?新手必看指南  设计网站制作公司有哪些,制作网页教程?  建站之星安装后如何自定义网站颜色与字体?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  实现虚拟支付需哪些建站技术支撑? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。