node rpc调用,
本文带你了解RPC通信,介绍RPC和Ajax的异同,希望对你有所帮助!
node.js速度课程简介:进入学习
什么是RPC通信
先导语
对于后端人员来说,RPC通信是一个很熟悉也很容易理解的东西,但是对于我这样的前端人员来说,对RPC相对比较陌生,理解起来相对比较困难。对于这个问题,今天我们试着从前端的角度来理解RPC通信。[推荐研究:《nodejs 教程》]
RPC和Ajax
RPC和Ajax非常相似,两者有很多相似之处。例如:
都是两台电脑之间的交流。
将对数据格式达成一致
RPC和Ajax的区别:
不一定基于DNS作为寻址服务
应用层协议一般不使用HTTP协议。
基于TCP或UDP协议
接下来,我们就来逐一说说它们的区别:
1.寻址服务器的不同
Ajax使用DNS作为寻址服务器
Ajax请求的URL一般是这样的,比如:HTTP://域名/路径,但是计算机之间的通信是靠IP而不是域名,所以需要一个寻址服务器来找到对应域名的IP。Ajax使用DNS作为寻址服务器。得到IP地址后,浏览器根据IP地址找到对应的服务器,然后服务器将数据返回给浏览器。
流程如下所示:
RPC 通过特定的服务器来做寻址服务
RPC在解析过程上类似于Ajax,但是它不使用DNS来寻址服务器,它通过某个ID来寻找对应的IP。比如阿里的ID就是类似VIP的ID。
2. TCP通信方式
浏览器使用TCP遵循HTTP规范,但是RPC在很多方面使用TCP:
1.单工通信
2.半双工通信
3.双工通信
单工通信
单工通信是指在客户端和服务器的连接中,只有一方可以始终向另一方发送消息。
半双工通信
半双工通信是指在同一时间段内,只有一方可以向另一方发送消息,并且只有在消息已经发送后,另一方才能发送消息。如下图:
双工通信
双工通信是指双方可以随时互相发送消息。如下图:
协议不同
Ajax使用HTTP协议。而RPC通信使用二进制协议。与HTTP协议相比,二进制协议有两个优点:1 .更小的数据包(二进制数据而不是文本数据)
2.更快的编解码速度(计算机对二进制数据的编解码速度明显高于文本数据!)
结束语
今天我们通过对比Ajax和RPC的异同,了解了什么是RPC通信。下一次,我们将通过学习NodejS的buffer编解码二进制数据来进一步了解RPC。那么,下次见。好好学习,天天向上!
有关编程的更多信息,请访问:编程视频!即Node.js中的RPC通信是什么?Ajax和Ajax有什么区别?更多详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。