首页 » PHP教程 » phprpc协定技巧_JSONRPC轻量级远程调用协议介绍及运用

phprpc协定技巧_JSONRPC轻量级远程调用协议介绍及运用

访客 2024-12-08 0

扫一扫用手机浏览

文章目录 [+]

{ \"大众method\"大众: \"大众sayHello\"大众, \公众params\"大众: [\"大众Hello JSON-RPC\"大众], \公众id\公众: 1}

參数解释:

phprpc协定技巧_JSONRPC轻量级远程调用协议介绍及运用

method: 调用的方法名

phprpc协定技巧_JSONRPC轻量级远程调用协议介绍及运用
(图片来自网络侵删)

params: 方法传入的參数。
若无參数则传入 []

id : 调用标识符。
用于标示一次远程调用过程

server其收到调用要求,处理方法调用,将方法效用结果效应给调用方;返回数据格式:

{ \"大众result\"大众: \"大众Hello JSON-RPC\"大众, \公众error\"大众: null, \"大众id\"大众: 1 }

參数解释:

result: 方法返回值。
若无返回值。
则返回null。

若调用缺点,返回null。

error :调用时缺点,无缺点返回null。

id : 调用标识符,与调用方传入的标识符同等。

以上便是json-rpc协议规范,很easy,小巧。
便于各种措辞实现。

二、JSON-RPC大略演示样例

2.1、server端Java调用演示样例

jsonrpc4jserver端java演示样例:

public class HelloWorldServlet extends HttpServlet { private static final long serialVersionUID = 3638336826344504848L; private JsonRpcServer rpcService = null; @Override public void init(ServletConfig config) throws ServletException { super.init(config); rpcService = new JsonRpcServer(new HelloWorldService(), HelloWorldService.class); } @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { rpcService.handle(req, resp); }}

2.2、Javaclient调用演示样例

jsonrpc4j的Javaclient调用演示样例:

JsonRpcHttpClient client = new JsonRpcHttpClient( new URL(\"大众http://127.0.0.1:8080/index.json\"大众)); Map<String,String> headers = new HashMap<String,String>(); headers.put(\"大众name\"大众, \"大众剑白\"大众); client.setHeaders(headers); String properties = client.invoke(\"大众getSystemProperties\"大众, null, String.class); System.out.println(properties);

2.3、JavaScriptclient调用演示样例

基于jsonrpcjs的JavaScriptclient调用演示样例:

var rpc = new jsonrpc.JsonRpc('http://127.0.0.1:8080/index.json');rpc.call('getSystemProperties', function(result){alert(result);});

2.4、直接GET要求进行调用

无需不论什么client。
仅仅需手工拼接參数进行远程调用,要求URL例如以下:

http://127.0.0.1:8080/index.json?method=getSystemProperties&id=3325235235235&params=JTViJTVk

參数解释:

method : 方法名

params :调用參数。
json的数组格式[], 将參数需前辈行url编码,再进行base64编码

id : 调用标识符,随意值。

三、JSON-RPC总结

json-rpc是一种很轻量级的跨措辞远程调用协议。
实现及利用大略。

仅需几十行代码,就可以实现一个远程调用的client。
方便措辞扩展client的实现。

server端有php、java、python、ruby、.net等措辞实现,是很不错的及轻量级的远程调用协议。

标签:

相关文章