从零开始学习Node.js系列教程五:服务器监听方法示例
程序员文章站
2022-05-13 23:37:55
本文实例讲述了node.js服务器监听方法。分享给大家供大家参考,具体如下:
httpsnifferinvoke.js
var http = require('...
本文实例讲述了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系列教程之设置HTTP头的方法示例
-
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
-
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
-
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
-
从零开始学习Node.js系列教程五:服务器监听方法示例
-
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
-
从零开始学习Node.js系列教程三:图片上传和显示方法示例
-
从零开始学习Node.js系列教程五:服务器监听方法示例
-
从零开始学习Node.js系列教程之设置HTTP头的方法示例
-
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例