Node.js创建HTTP服务器:
var http = require('http');
//创建一个服务器对象var server = http.createServer(function(req,res){
//接收到客户端请求时的处理
}).listen(1337,"127.0.0.1");
server.on('error',function(e){
if(e.code == 'EADDRINUSE'){
console.log('服务器地址及端口已被占用');
}
});
server.on('listening',function(){
console.log("服务器端开始监听");
//server.close();
});
//运行这段代码,然后在浏览器中输入http://localhost:1337执行该事件
server.on('connection',function(socket){
console.log('客户端连接已建立')
});
//设置服务器超时时间为1分钟
server.setTimeout(60*1000,function(socket){
console.log("服务器超时");
console.log(socket);
});
server.on('close',function(){
console.log('服务器已关闭');
});
Node.js在文件中保存客户端请求信息:
var fs = require('fs');
var server = http.createServer(function(req,res){
//在浏览器中访问HTTP服务器时,部分浏览器可能会发出两次客户端请求,一次是用户发出的请求,另一次是浏览器为页面
//在收藏夹中的显示图标(默认为favicon.ico)而自动发出的请求,所以需要过滤掉
var out = fs.createWriteStream('./request.log');
out.write('客户端请求所用方法为:'+req.method+'\r\n');
out.write('客户端请求所用url字符串为:'+req.url+'\r\n');
out.write('客户端请求头对象为:'+JSON.stringify(req.headers)+'\r\n');
out.end('客户端请求所用HTTP版本为:'+req.httpVersion);
}
res.end();
}).listen(1337,'127.0.0.1');
//运行这段代码,在浏览器输入http://localhost:1337/test?param1=1¶m2=2地址
//会在应用程序根目录下创建一个request.log文件