zoukankan      html  css  js  c++  java
  • Nodejs-- web服务器

    第一篇关于nodejs的东西,代码在此作为备份。

    该代码目前未完成,是一个阻塞式的代码。

    1.index.js

    ar server=require('./server');
    var route=require('./router');
    var requestHandler=require('./requestHandlers');
    
    <!-- 声明一个对象  -->
    var handle={}
    handle['/']=requestHandler.start;
    handle['/start']=requestHandler.start;
    handle['/upload']=requestHandler.upload;
    
    server.start(route.route,handle);

    2.server.js

    var http=require('http');
    var url=require('url');
    
    function start(route,handle){
            function onRequest(request,response){
                    var pathname=url.parse(request.url).pathname;
                    console.log('received pathname:'+pathname);
    
                    route(handle,pathname);
    
                    response.writeHead(200,{'Content-Type':'text/plain'});
                    response.write('hello world');
                    response.end();
            }
            http.createServer(onRequest).listen(8888);
            console.log('server has started');
    
    }
    
    exports.start=start;

    3.route.js

    function route(handle,pathname){
            console.log('About to route a request for '+pathname);
            if(typeof handle[pathname] == 'function'){
                    handle[pathname]();
            }else{
                    console.log('No request handler found for:'+pathname);
            }
    
    }
    
    exports.route=route;

    4.requestHandlers.js

    function start(){
            console.log('Request handler START was called');
            function sleep(millsec){
                    var startTime=new Date().getTime();
                    while(new Date().getTime()<startTime+millsec);
            }
            sleep(10000);
            return 'Hello Start';
    }
    
    function upload(){
            console.log('Request handler UPLOAD was called');
            return 'Hello Upload';
    }
    
    exports.start=start;
    exports.upload=upload;
  • 相关阅读:
    SSD1963 低功耗应用
    LWIP UDP 协议分析
    CY22393的应用
    合并BIN文件的两种方法 转载
    STM32 PWM 互补输出函数 调试通过
    STM32 FSMC TFT LCD
    酷睿-家政保洁软件
    查询手机归属地
    折腾报表那些事儿(3) jatoolsprint
    table表格线条显示
  • 原文地址:https://www.cnblogs.com/juepei/p/4206408.html
Copyright © 2011-2022 走看看