十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文实例讲述了Node.js服务器监听方法。分享给大家供大家参考,具体如下:
创新互联专注于企业网络营销推广、网站重做改版、渭源网站定制设计、自适应品牌网站建设、H5场景定制、商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为渭源等各大城市提供网站开发制作服务。
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程序设计有所帮助。