Json-RPC的PHP扩展php-ext-JsonRPC.zip

时间:2022-08-07 06:49:31
【文件属性】:

文件名称:Json-RPC的PHP扩展php-ext-JsonRPC.zip

文件大小:112KB

文件格式:ZIP

更新时间:2022-08-07 06:49:31

开源项目

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)   }   ... } */


【文件预览】:
php-JsonRPC-master
----php_jsonrpc.h(3KB)
----yajl()
--------yajl_buf.c(2KB)
--------yajl_alloc.c(1KB)
--------yajl_lex.c(26KB)
--------yajl_bytestack.h(2KB)
--------yajl.c(5KB)
--------yajl_parser.c(20KB)
--------LICENSE(750B)
--------yajl_parser.h(2KB)
--------yajl_encode.c(7KB)
--------yajl_alloc.h(1KB)
--------yajl_encode.h(1KB)
--------api()
--------yajl_gen.c(11KB)
--------yajl_lex.h(4KB)
--------yajl_buf.h(2KB)
--------yajl_tree.c(13KB)
--------ChangeLog(7KB)
--------yajl_version.c(81B)
----jsr_server.c(29KB)
----jsr_client.h(4KB)
----jsonrpc.c(6KB)
----jsr_list.c(6KB)
----jsr_yajl.h(4KB)
----jsr_epoll.h(2KB)
----run-tests.php(77KB)
----EXPERIMENTAL(0B)
----README-cn.md(8KB)
----jsonrpc.php(505B)
----jsr_epoll.c(3KB)
----jsr_utils.c(3KB)
----jsr_utils.h(1KB)
----CREDITS(7B)
----examples()
--------curl-epoll.c(3KB)
--------swoole-jsonrpc-server.php(668B)
--------jsonrpc-client.php(2KB)
----.travis.yml(195B)
----jsr_list.h(2KB)
----config.m4(3KB)
----README.md(8KB)
----config.w32(303B)
----jsr_client.c(38KB)
----jsr_curl.c(9KB)
----jsr_curl.h(4KB)
----tests()
--------005-jsonrpc-client-connect.phpt(911B)
--------002-jsonrpc-client.phpt(531B)
--------004-jsonrpc-server-register.phpt(826B)
--------003-jsonrpc-server.phpt(485B)
--------001.phpt(545B)
----jsr_yajl.c(16KB)
----jsr_server.h(2KB)
----composer.json(341B)

网友评论