Nodejs心跳包(一)简易监控 --学习笔记

写JavaScript本身是弱语言,到了Nodejs中也是V8下执行的脚本。本质无法改变。
知识点:
一、心跳包
           心跳包通俗来说就是,让使用者知道当前软件的一个状态。
比如说:BOSS让你干一件事,总体上来说他有两种途径知道你干的情况。
①BOSS不厌其烦的主动问你,干好了没?②你每天定时向BOSS汇报情况。③推送机制。
基于心跳包来说,所以,客户端主动发起请求和服务端主动告诉客户端本质上没什么区别。后续继续学习推送机制。
二、JavaScript面向对象
变量作用域、get、set 访问器 具体的就不多说了,自行搜索去。

基于以上知识,和Nodejs的特性nodejs心跳包程序如下:
HeartBeatService.Js文件
var HeartBeatService = function(app) {
    this.state = null;
    this.instance = null;
    app.get('/heartBeatService', function (req, res) {
        res.end(HeartBeatService.instance.state.toString());
    });
    app.post('/heartBeatService', function (req, res) {
        res.end(HeartBeatService.instance.state.toString());
    });
    //console.log(1);
}
HeartBeatService.prototype = {
    get state() {
        console.log("get:" + this._value)
        return this._value;
    },
    set state(val) {
        this._value = val;
        console.log("set:" + this._value)
    }
}
HeartBeatService.getInstance=function(app)
{
    if(!this.instance){
        this.instance =new HeartBeatService(app);
    }
    return this.instance;
}
HeartBeatService.create=function(app)
{
    //if(!this.instance){
        this.instance =new HeartBeatService(app);
    //}
    return this.instance;
}
module.exports = HeartBeatService;

调用如下:

test.js

var express = require("express");
var app = express();
var heartBeatService=require("./HeartBeatService");
var hbs =heartBeatService.getInstance(app);
timerStart(1000*60);
function  timerStart(millisecond) {
    var timerToken = setInterval(function () {
            console.log("服务端状态:" + hbs.state)
        },
        millisecond
    );
}
app.get('/heartBeatServiceTest', function (req, res) {
    hbs.state = req.query.state;
    console.log(req.query.state);
    res.end("设置完毕:"+ hbs.state);
});
app.listen(8099);

模拟状态设置使用

http://localhost:8099/heartBeatServiceTest?state=false

http://localhost:8099/heartBeatServiceTest?state=true

调用web接口查看状态结果

http://localhost:8099/heartBeatService

调测


nodejs代码下载:http://download.csdn.net/detail/gzy11/9751187




  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值