本文实例讲述了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小时内与您取得联系。