从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例

本文实例讲述了Node.js多页面实现数学运算的client端和server端。分享给大家供大家参考,具体如下:

1、server端

支持数学运算的服务器,服务器的返回结果用json对象表示。

math-server.js

rush:js;"> //通过监听3000端口使其作为Math Wizard的后台程序 var math = require('../nodejsExample3/math.js'); var express = require('express'); var app = express(); app.configure(function(){ app.use(app.router); //认的错误处理函数显示栈轨迹 //如果要显示用户友好的错误,app.err(function(err,req,res,next){ // res.send(error page); //or res.render('template'); // }); app.use(express.errorHandler({ dumpExceptions: true,showStack: true })); }); app.get('/fibonacci/:n',function(req,next){ math.fibonacciAsync(Math.floor(req.params.n),function(val){ res.send({n: req.params.n,result: val}); }) }); app.get('/factorial/:n',next){ res.send({n: req.params.n,result: math.factorial(Math.floor(req.params.n))}); }); app.get('/mult/:a/:b',next){ res.send({a: req.params.a,b: req.params.b,result: req.params.a * req.params.b}); }); app.get('/square/:a',result: req.params.a * req.params.a}); }); app.listen(3000);

测试结果:

2、client端

http.request方法会创建一个HTTP请求,并将URL元素分割到参数对象中,res.on语句里声明的回调函数会在HTTP相应数据到达时触发。

每当app.get请求处理函数调用res.send,它的HTTP相应会反过来让res.on('data'...)处理函数 等待响应的产生

math-client.js

rush:js;"> var http = require('http'); var util = require('util'); [ "/factorial/20","/factorial/20","/mult/10/20","/square/12" ].forEach(function(path){ var req = http.request({ host: "localhost",port: 3000,path: path,method: 'GET' },function(res){ res.on('data',function(chunk){ util.log('BODY: ' + chunk); }); }); req.end(); });

先启动server,然后再测试client。

希望本文所述对大家nodejs程序设计有所帮助。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...