zoukankan      html  css  js  c++  java
  • 从零开始学习Node.js例子四 多页面实现数学运算 续二(client端和server端)

    1、server端

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

    math-server.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, res, next){
        math.fibonacciAsync(Math.floor(req.params.n), function(val){
            res.send({n: req.params.n, result: val});
        })
    });
    app.get('/factorial/:n', function(req, res, next){
        res.send({n: req.params.n, result: math.factorial(Math.floor(req.params.n))});
    });
    app.get('/mult/:a/:b', function(req, res, next){
        res.send({a: req.params.a, b: req.params.b, result: req.params.a * req.params.b});
    });
    app.get('/square/:a', function(req, res, next){
        res.send({a: req.params.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

    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。

  • 相关阅读:
    linux一些配置
    tomcat启动后,页面无法访问
    利用jmeter实现多IP压测
    java操作数据库
    excle中表头分割单元格
    常用的最大流算法 Dinic 和 最小费用最大流SPFA写法
    [kuangbin]带你飞之'网络流'专题
    (留坑以后再看)一般图'最大匹配' 带花树 算法
    二分图'多重匹配'
    二分图'最大匹配' HK 算法
  • 原文地址:https://www.cnblogs.com/EricaMIN1987_IT/p/3643252.html
Copyright © 2011-2022 走看看