`

nodejs实现web服务实例

阅读更多

使用nodejs,采用express是一个很好的选择,也可自己采用http库直接实现。该列子通过简单的事件,把数据粘起来,从而能应对post模式中大数据传输的要求。

var http = require('http');
var url = require('url');
function test1(receiveBuf, res){
    //do something
    res.end('====>set ok Hello World 1\n');
}
function test2(receiveBuf,res){
    //do something
    res.end('====>set ok Hello World 2 \n');
}
var PATH_MAP = {};
PATH_MAP["/ydsdk_call.php"] = test1;
PATH_MAP["/ydsdk_get.php"] = test22;
var Server = http.createServer(function (req, res) {
    var receiveBuf = '';
            
    //url.parse(req.url).pathname; //建议自己实现解析,url.parse函数性能低
    var pathname = url.parse(req.url).pathname;
    var fun = PATH_MAP[pathname];
    if (typeof(fun)=="undefined" || fun==null) {
          return ;
    }
    req.setEncoding('utf8');
    
    req.addListener('data', function(Data) {
        receiveBuf += Data;
    });
        
    res.writeHead(200, {'Content-Type': 'text/plain'});
    
    res.on("close",function(){
        console.log("res closed");
    });
    
    req.on("close",function(){
             console.log("req closed");
    });
    
            
    req.addListener('end', function() {
             fun(receiveBuf,res);
    });
   
});
Server.listen(8082, '172.28.14.218',1024);
Server.setTimeout(60000,function(cli){
        cli.end('timeout\n');
});
 

关于上面列子,可满足较高并发。若提高并发访问要注意3点:
1)优化系统,centos下主要是sysctl.conf;
2)提高cpu,因为nodejs的弱点就是cpu密集;
3)js脚本编写要注意效率,主要要注意时间复杂度,复杂算法尽量用c实现。

 

转自:http://blog.chinaunix.net/uid-52437-id-3955079.html

分享到:
评论

相关推荐

    Nodejs开发指南博客实例(支持Express3.0)

    Nodejs开发指南书中博客实例基于Express2,而由于Express3.0做出了较大改变使得原例无法直接使用。此例针对Express3.0修改了原案例,亲测可用。

    nodejs实现的简单web服务器功能示例

    主要介绍了nodejs实现的简单web服务器功能,结合实例形式分析了nodejs构建web服务器的相关监听、响应、数据处理等操作技巧,需要的朋友可以参考下

    nodejs创建简易web服务器与文件读写的实例.docx

    nodejs创建简易web服务器与文件读写的实例.docx

    Nodejs 搭建简单的Web服务器详解及实例

    主要介绍了Nodejs 搭建简单的Web服务器详解及实例的相关资料,并附实例代码和实现效果图,需要的朋友可以参考下

    nodejs开发一个最简单的web服务器实例讲解

    开发一个最简单的http服务 ... 创建http服务 ...// 创建一个服务 var app = http.createServer(function(req, res){ // 设置http头 res.writeHead(200, {Content-Type: text/plain}); res.end(Hello World\

    Nodejs实现WebSocket代码实例

     模块介绍:Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。  安装方式:在项目路径下执行npm install express 三、HelloWord  1.创建

    nodejs创建简易web服务器与文件读写的实例

    web服务器至少有以下几个特点: 1、24小时不停止的工作,也就是说这个进程要常驻在内存中 2、24小时在某一端口监听,如: http://localhost:8080, www服务器默认端口80 3、要能够处理基本的请求:如get, post 在node ...

    Nodejs实现爬虫抓取数据实例解析

    开始之前请先确保自己安装了Node.js环境,如果没有安装,大家...cheerio是nodejs的抓取页面模块,为服务器特别定制的,快速、灵活、实施的jQuery核心实现。适合各种Web爬虫程序。相当于node.js中的jQuery 2.新建 crawl

    nodejs开发指南第五章微博开发实例

    nodejs开发指南中第五章微博开发实例,nodejs开发指南 nodejs微博 nodejs+express+mongodb 并在微博实例上增加了几个功能: 1.注册增加验证码功能 2.登录,密码连续输入错误3次 ,1个小时内不得登录 3.首页和用户...

    NodeJS Web应用监听sock文件实例

    主要介绍了NodeJS Web应用监听sock文件实例,本文讲解 NodeJS 的 TCP 和 HTTP 监听 Domain Socket 文件例子,需要的朋友可以参考下

    webGL,websocket,nodeJS做的3D的多人在线游戏

    webGL,websocket,nodeJS做的3D的多人在线游戏,用的Three.js这个开源库,包括模型的解析等,模型也是Three.js的例子上提供的,后台用的nodeJS,静态文件服务器跟websocket服务器没写在一起,websocket是用的nodeJS的...

    NodeJs+Angular+Mongodb Web开发(1)

    本项目中包括整个Nodejs、Mongodb、AngularJs栈的实例,该实例显示了如何从你的网站添加、修改和删除用户。

    Node.js Webservice实例

    Node.js利用node-soap实现webservice服务

    google-auth:NodeJS实现的google-authenticator服务器,API作用主要是生成Key以及验证Key所对应的Code

    启动1. 安装NodeJS1.1 下载NVMcurl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash1.2 安装source ~/.bashrcnvm install --lts2.... 执行程序6.1 不带参数默认启动8个实例bi

    nodejs权威指南

    此外,它实战性强,不仅每个知识点都配有精心设计的小案例(具体的实现步骤、完整的实现代码、最终的实现效果,图文并茂),而且还有两个综合性的案例,能让读者迅速获得实战经验。本书所有实例代码都经调试运行成功...

Global site tag (gtag.js) - Google Analytics