node rpc调用,

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: