本文实例讲述了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程序设计有所帮助。
如对本文有疑问, 点击进行留言回复!!
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
vert实践五——Json?Protocol Buffer?FlatBuffers?
[基于tensorflow的人脸检测] 基于神经网络的人脸检测8——验证训练好的神经网络
selenium + ajax抓取英雄联盟全部英雄的详细信息及多线程保存全部皮肤图片到本地
网友评论