| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> OpenHarmony啃论文成长计划---JSON-RPC -> 正文阅读 |
|
[网络协议]OpenHarmony啃论文成长计划---JSON-RPC |
OpenHarmony啃论文成长计划---JSON-RPC参考文献JSON-RPC协议分析、扩展及其应用–《中国科技论文在线》2008年02期 (cnki.com.cn) 引言? 最近在看JSON相关的文献和资料,前面我也写了两篇JSON相关的文章(有兴趣的同学可以去看看): 像我这种有一点小程序或者web开发经验的会对JSON很熟悉,因为我们前端经常把信息格式化为JSON,再调用后端的API进行数据传递,我们也清楚的知道 RPC? 先来了解一下什么是RPC,相信大家会混淆RPC和HTTP,其实他们两个并不是同一层级的概念, [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aXcmEfFs-1644916839969)(JSON-RPC/resize,w_820,h_732.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aJURTzcH-1644916839970)(https://harmonyos.51cto.com/posts/FAcallPA-%E4%B8%89/image-20220214130009214.png)] 在HarmonyOS有很多地方都用到了RPC方式通信,比如跨设备调用,远程拉起FA,FA的迁移流转等等。 JSON-RPC摘要? 一般应用程序需要本地以外的其他方提供信息。但是这些应用程序可能使用的是不同的系统或者平台上。web开发上有一种技术可以使用,通常称为 什么是JSON-RPC?? RPC是一个简单的协议框架,所以可以用来构建一个基于web的服务的新协议。RPC允许一个应用程序调用远程另外一个处于不同系统的程序的子进程,RPC在传递数据过程中使用一种特定的数据交换格式,如XML或JSON,作为系统之间的粘合剂。传输中数据交换格式为 ? 官方的定义是: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dLxodRx7-1644916839971)(JSON-RPC/image-20220215160726689.png)] JSON-RPC的数据结构? 比如现在我们需要实现一个减法的功能,服务器和本地相互传递的数据结构很简单,如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j5UQeEsy-1644916839973)(JSON-RPC/image-20220215150244310.png)] ? 从本质上讲,请求是通过 JSON-RPC与HTTP的区别? 先看HTTP,http服务你需要给出对应的接口地址,需要定义http method等等 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dig5wVkV-1644916839974)(JSON-RPC/image-20220215164714387.png)] 但是JSON-RPC不需要,因为在调用JSON-RPC的时候客户端已经传递了方法名字,还有请求者的id,还是上面的例子: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pUHrLAYf-1644916839975)(JSON-RPC/image-20220215164524868.png)] 所以rpc更像是熟人之间的日常交流,而http像是的陌生人之间的约定,RPC(包括JSON-RPC)调用时,已经知道你是谁,长什么样,东西放在哪,也知道你允许他使用上面东西,你直接用就完事了。而http就是你需要事先跟陌生人沟通,商量好怎么借和使用别人的东西,才可以使用上。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:53:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |