JSON-RPC协议是一种远程过程调用协议,其设计的目的就是为了简化处理。常规的处理机制是在两个对等
通信实体之间建立点对点的数据连接,在连接的生命周期内一方可能调用另一方提供的方法,为了调用一个远程
方法必须发送一个请求,而服务器端必须回答一个与该请求相对的响应除非这个请求是一个通知。
1.1 request (method invocation)
客户端通过向远程服务发送一个请求的方式来实现对远程方法的调用,而这个请求是一个由JSON协议串行
化的对象,含有下面三个属性:
·method:被调用方法名;
·params:被调用方法的参数列表;
·id :请求id,可以是任何类型,用于与响应匹配。
1.2 response
当方法调用完成后,服务器必须给出一个响应,而这个响应也是一个有JSON协议串行化的对象,其含有三个属性:
·result:是一个由被调用方法返回的对象,如果错误调用方法时,则其值为null;
·error :如果没有错误调用方法,则其值为null;
·id :与要响应的请求的id相同。
1.3 notification
一个notification请求是一个没有响应的特殊的请求,其也是由JSON协议串行化的对象,含有和一般请求相同的属性,但是其id应为null。
2.1JSON-RPC over Stream Connection