大家好,又见面了,我是你们的朋友全栈君。
BCOS中用户与区块链交互使用的是rpc框架,这里简单介绍:
协议:json-rpc是一种远程调用协议,客户端被定义为请求对象的来源及对响应对象的处理程序;服务器被定义为响应对象的来源及请求对象的处理程序;
1.客户端需要向服务器发送请求
请求对象包含:
jsonrpc:
指定JSON-RPC协议版本的字符串,必须准确写为“2.0”
method:
包含所要调用方法名称的字符串,以rpc开头的方法名,用英文句号连接的为预留给rpc内部的方法名及扩展名,且不能在其他地方使用。
params:
调用方法所需要的结构化参数值,该成员参数可以被省略。
id:
已建立客户端的唯一标识id,值必须包含一个字符串、数值或NULL空值。如果不包含该成员则被认定为是一个通知。该值一般不为NULL,若为数值则不应该包含小数
如果没有id,说明客户端不关心响应对象;
2.服务器向客户端回复响应,只要请求必须响应(请求中没有id除外)
jsonrpc:
指定JSON-RPC协议版本的字符串,必须准确写为“2.0”
result:
该成员在成功时必须包含。
当调用方法引起错误时必须不包含该成员。
服务端中的被调用方法决定了该成员的值。
error:
该成员在失败是必须包含。
当没有引起错误的时必须不包含该成员。
该成员参数值必须为5.1中定义的对象。
id:
该成员必须包含。
该成员值必须于请求对象中的id成员值一致。
若在检查请求对象id时错误(例如参数错误或无效请求),则该值必须为空值。
协议已经介绍完了,我们不在意传输细节,socket也好,http也好都无所谓,它只是一个约定俗成的传json的协议。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144338.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...