remote_event

0.0.4 • Public • Published

基于ZMQ的事件以及RPC调用

     ____    _____                          _
    |  _ \  | ____| __   __   ___   _ __   | |_
    | |_) | |  _|   \ \ / /  / _ \ | '_ \  | __|
    |  _ <  | |___   \ V /  |  __/ | | | | | |_
    |_| \_\ |_____|   \_/    \___| |_| |_|  \__|

    Based On ZMQ

    Easy for event notify cross process and host.

===============================================================================================================

如何使用REvent进行事件监听

 var REvent = require('remote_event');
 //在本机创建REvent对象,标识为flyfish-test, 使用端口15000和150001 
 var $E = new REvent('flyfish-test', '127.0.0.1', 15000, 15001);
 //启动REvent的服务器
 $E.startServer(); 
 //监听事件 "SayHello"
 $E.addObserver('SayHello', function(param){
    console.log('[2]on event SayHello: ', param.toString());
 });
 setInterval(function(){
  	  //触发事件 "SayHello"
      $E.notifyObservers('SayHello', "AISHEN");
  }, 100);

如何使用REvent进行rpc调用

  var REvent = require('remote_event');
  //在本机创建REvent对象,标识为flyfish-rpc, 使用端口14000和140001 
  var $E = new REvent('flyfish-rpc', '127.0.0.1', 14000, 14001);
  //启动REvent服务器
  $E.startServer();
  //注册一个RPC调用
  $E.registerRpc("flyfish.user.rpc.test", function(rpcParam, callback){
      var msg = '[' + (new Date()) + '] reply: ' + "flyfish.user.rpc.test, " +   JSON.stringify(rpcParam);
      callback(msg);
  });
  setInterval(function(){
       /*      rpc调用格式: function(rpcRoute, param, callback)  
        *          callback = function(error, data){}
        *          其中:error 表示rpc调用遇到的error
        *               data  表示rpc服务返回的数据, 字符串格式
        */
      $E.rpc('flyfish.user.rpc.test', {name: "REvent"}, function(err, data){
          if(err){
              console.log('rpc call error: ', err);
          }else{
              console.log("rpc call get : ",data);
          }
      })
  }, 500);
  • 详细实例在test中

ZMQ

安装ZMQ运行库 http://zeromq.org/intro:get-the-software 下载[例如版本3.2.3]

    make && make install

Readme

Keywords

none

Package Sidebar

Install

npm i remote_event

Weekly Downloads

0

Version

0.0.4

License

BSD

Last publish

Collaborators

  • aishenhu