nodejs 学习笔记---非阻塞请求响应
2012-09-11 13:42
591 查看
==================index.js文件=================
var server=require("./server");
var router=require("./router");
var requestHandlers=require("./requestHandlers");
//请示主处理程序的集合
var handle={};
handle["/"]=requestHandlers.start;
handle["/start"]=requestHandlers.start;
handle["/upload"]=requestHandlers.upload;
server.start(router.route,handle);
server.js文件
//get http mode
var http=require("http");
var url=require("url");
function start(route,handle){
http.createServer(function(request,response) {
var pathname=url.parse(request.url).pathname;
console.log("Request for "+pathname+" received!");
route(handle,pathname,response);
// 8080 is listening
}).listen(8080);
console.log("Server has started.");
}
exports.start=start;
=========================================== ===========================================
============requestHandler.js文件 ===============
var exec=require("child_process").exec;
function start(response){
console.log("===start()===");
//var content="empty";
//exec("ls=lah",function (error,stdout,stderr){
//content=stdout;
//});
//return content;
exec("find /",
{ timeout: 10000, maxBuffer: 20000*1024 },
function (error, stdout, stderr) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write(stdout);
response.end();
});
//阻塞等待10秒后返回
// function sleep(millliSeconds){
// var startTime=new Date().getTime();
// while(new Date().getTime()<startTime+millliSeconds);
// }
// sleep(10000);
// return "hello start!";
}
function upload(response){
console.log("===upload()===");
response.writeHead(200,{"Content=type":"text/plain"});
response.write("hello upload!");
response.end();
}
exports.start=start;
exports.upload=upload;
=========================================== ===========================================
===============router.js文件 ===============
function route(handle,pathname,response){
console.log("About to route a request for "+pathname);
if(typeof handle[pathname]=='function'){
handle[pathname](response);
}else{
console.log("no request handler found for "+pathname);
response.writeHead(404,{"Content=type":"text/plain"});
response.write("404 Not found!");
response.end();
}
}
exports.route=route;
=========================================== ===========================================
var server=require("./server");
var router=require("./router");
var requestHandlers=require("./requestHandlers");
//请示主处理程序的集合
var handle={};
handle["/"]=requestHandlers.start;
handle["/start"]=requestHandlers.start;
handle["/upload"]=requestHandlers.upload;
server.start(router.route,handle);
server.js文件
//get http mode
var http=require("http");
var url=require("url");
function start(route,handle){
http.createServer(function(request,response) {
var pathname=url.parse(request.url).pathname;
console.log("Request for "+pathname+" received!");
route(handle,pathname,response);
// 8080 is listening
}).listen(8080);
console.log("Server has started.");
}
exports.start=start;
=========================================== ===========================================
============requestHandler.js文件 ===============
var exec=require("child_process").exec;
function start(response){
console.log("===start()===");
//var content="empty";
//exec("ls=lah",function (error,stdout,stderr){
//content=stdout;
//});
//return content;
exec("find /",
{ timeout: 10000, maxBuffer: 20000*1024 },
function (error, stdout, stderr) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write(stdout);
response.end();
});
//阻塞等待10秒后返回
// function sleep(millliSeconds){
// var startTime=new Date().getTime();
// while(new Date().getTime()<startTime+millliSeconds);
// }
// sleep(10000);
// return "hello start!";
}
function upload(response){
console.log("===upload()===");
response.writeHead(200,{"Content=type":"text/plain"});
response.write("hello upload!");
response.end();
}
exports.start=start;
exports.upload=upload;
=========================================== ===========================================
===============router.js文件 ===============
function route(handle,pathname,response){
console.log("About to route a request for "+pathname);
if(typeof handle[pathname]=='function'){
handle[pathname](response);
}else{
console.log("no request handler found for "+pathname);
response.writeHead(404,{"Content=type":"text/plain"});
response.write("404 Not found!");
response.end();
}
}
exports.route=route;
=========================================== ===========================================
相关文章推荐
- nodejs 学习笔记---非阻塞请求响应
- HTTP学习笔记4-请求与响应结构例子
- JavaWeb请求-响应学习笔记
- IOS学习笔记26—HTTP操作之ASIHTTPRequest(二) 请求-响应
- JavaWeb请求-响应学习笔记
- SIP的请求/响应事务模型——SIP学习笔记(二)
- JSP网络编程-请求和响应-HttpServletRequest-HttpServletResponse-学习笔记
- ThinkPHP5学习笔记(6)请求和响应
- 【前端学习笔记】2015-09-02 附~~~~~ajax简单请求和获得响应结果
- Akka学习笔记:Actor消息处理-请求和响应(1)
- Akka学习笔记:Actor消息处理-请求和响应(1)
- Akka学习笔记:Actor消息处理-请求和响应(2)
- Servlet学习笔记(三):HTTP请求与响应
- java web 学习笔记四 使用ajax响应异步请求
- Binder学习笔记(九)—— 服务端如何响应Test()请求 ?
- laravel 学习笔记——请求与响应
- JAVA学习笔记0010----请求和响应
- web 学习笔记8-HTTP协议,请求头,响应头
- Mule ESB 学习笔记 异步请求-响应方式
- JavaWeb请求-响应学习笔记