轻量级 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) } ... } */
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!