| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

轻量级 Json-RPC 2.0 client/server 的php扩展:JsonRPC

JsonRPC 2.0 Client and Server
=============================

轻量级 Json-RPC 2.0 客户端和服务端的php扩展,基于 multi_curl + epoll的并发客户端,依据[jsonrpc](http://www.jsonrpc.org/)协议规范。

服务端:

$server = new Jsonrpc_Server();    // style one function variable  $add1 = function($a, $b){      return $a + $b;  };  $server->register('addition1', $add1);    // style two function string  function add2($a, $b){    return $a + $b;  }  $server->register('addition2', 'add2');    // style three function closure  $server->register('addition3', function ($a, $b) {      return $a + $b;  });    //style four class method string  class A   {    static public function add($a, $b)    {      return $a + $b;    }  }  $server->register('addition4', 'A::add');    echo $server->execute();    //output >>>  //{"jsonrpc":"2.0","id":null,"error":{"code":-32700,"message":"Parse error"}}

客户端:

$client = new Jsonrpc_Client(1);  $client->call('http://localhost/server.php', 'addition1', array(3,5));  $client->call('http://localhost/server.php', 'addition2', array(10,20));  $client->call('http://localhost/server.php', 'addition3', array(2,8));  $client->call('http://localhost/server.php', 'addition4', array(6,15));  /* ... */  $result = $client->execute();    var_dump($result);    //output >>>  /*  array(2) {    [0]=>    array(3) {      ["jsonrpc"]=>      string(3) "2.0"      ["id"]=>      int(110507766)      ["result"]=>      int(8)    }    [1]=>    array(3) {      ["jsonrpc"]=>      string(3) "2.0"      ["id"]=>      int(1559316299)      ["result"]=>      int(30)    }    ...  }  */

项目主页:http://www.open-open.com/lib/view/home/1447294284428

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1447294284428.html
WEB服务/RPC/SOA jsonrpc