https://stackoverflow.com/search?q=ipc+vs+rpc

https://baike.baidu.com/item/%E8%BF%9C%E7%A8%8B%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8/7854346

https://baike.baidu.com/item/%E6%9C%AC%E5%9C%B0%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8

进程间通信

(IPC)是在

多任务操作系统

或联网的计算机之间运行的程序和进程所用的通信技术。有两种类型的进程间通信(IPC)。

本地过程调用(LPC)LPC用在多任务操作系统中,使得同时运行的任务能互相会话。这些任务共享内存空间使任务同步和互相发送信息。

远程过程调用(RPC)RPC类似于LPC,只是在网上工作。RPC开始是出现在Sun微系统公司和HP公司的运行UNⅨ操作系统的计算机中。

LPC 的基础是远程过程调用(Remote Procedure Call, RPC),RPC 是 Unix 上用于运行在两台机器上的进程间通讯的事实上的标准。LPC 为在同一台机器上运行的进程间的通讯进行了优化。正如前面所讨论的,LPC 是子系统和其客户进程之间通讯的机制。客户线程当需要子系统的服务时就会调用 LPC。LPC 将调用的参数传递给服务器进程。服务器线程执行服务并使用 LPC 将结果传回给客户端线程。

https://www.jianshu.com/p/8988e109ec8a

进程间通信IPC、LPC、RPC

https://baike.baidu.com/item/xmlrpc/7674531?fr=aladdin

https://baike.baidu.com/item/%E8%BF%9C%E7%A8%8B%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8/7854346

xml rpc是使用http协议做为

传输协议

rpc

机制,使用xml文本的方式传输命令和数据。一个rpc系统,必然包括2个部分:1.rpc client,用来向rpc server调用方法,并接收方法的返回数据;2.rpc server,用于响应rpc client的请求,执行方法,并回送方法执行结果。RPC是Remote Procedure Call的缩写,翻译成中文就是

远程过程调用

,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“

互操作性

”而发明出来的技术。

RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。

基本的作用是:对数据进行处理后显示或打印

按照“数据即程序”的观点来看,RPC无非是借助一些通信手段来互相传递数据(信息),所以它也是“高”层次的通信手段,无非是这种通信手段看起来更像是“过程的调用”,因为它往往以一个“函数”的面目示人,从而掩盖了她交换信息的实质。

在各种RPC技术中,我想应该以Sun的RPC最为著名,比较流行的网络文件系统NFS就是建立在SUN RPC技术基础之上的。

XMLRPC,顾名思义就是应用了XML(标准通用标记语言的子集)技术的RPC。

在Sun RPC中,调用双方传递的数据是

二进制

的,而在XMLRPC中数据将是

XML格式

的。那么为什么用XML而不用二进制呢?我想一方面应该是为了兼容更多的语言,因为这个世界上除了C/C++等编译语言,还有很多类似python,

perl

javascript

等的

脚本语言

(有些文章也称其为“

动态语言

”,因为他们通常不需要自己管理内存),另一方面是为了隔离操作系统的差异,比如说Little Endian和Big Endian的差异等。基于种种原因,XMLRPC选择了XML这种

中间语言

作为其信息的格式,然后由各个语言负责将其转变成各自native(本土)的数据类型。关于为了兼容各个语言所发明的中间语言还有

IDL

(Interface Definition Language:接口定义语言),它被用于

CORBA

接口的定义。

完整的需要参考xmlrpc规范

简单描述:

rpcclient的工作原理:rpcclient根据URL找到rpcserver -> 构造命令包,调用rpcserver上的某个服务的某个方法 -> 接收到rpcserver的返回,解析响应包,拿出调用的返回结果。

rpcserver的工作原理:启动一个webserver(在使用内置的webserver的情况下) -> 注册每个能提供的服务,每个服务对应一个Handler类 ->进入服务监听状态。

转载于:https://www.cnblogs.com/lizhensheng/p/11117427.html

ipc-rpc-xmlrpc相关推荐

  1. INFO org.apache.hadoop.ipc.RPC: Server at master/192.168.200.128:9000 not available yet, Zzzzz...

    hadoop 启动时namenode和datanode可以启动,使用jps命令也可以看到进程,但是在浏览器中输入master:50070却没有显示datanode. 查看datanode的log日志: ...

  2. RPC-原理及RPC实例分析

    还有就是:RPC支持的BIO,NIO的理解 (1)BIO: Blocking IO;同步阻塞: (2)NIO:Non-Blocking IO, 同步非阻塞; 参考:IO多路复用,同步,异步,阻塞和非阻 ...

  3. Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法

    最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders ...

  4. 大数据笔记(六)——HDFS的底层原理:JAVA动态代理和RPC

    一.Java的动态代理对象 实现代码如下: 1.接口类MyService package hdfs.proxy;public interface MyService {public void meth ...

  5. Hadoop RPC机制的使用

    一.RPC基础概念 1.1 RPC的基础概念 RPC,即Remote Procdure Call,中文名:远程过程调用: (1)它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网 ...

  6. Hadoop 中RPC使用

    2019独角兽企业重金招聘Python工程师标准>>> 导入包: 理解:rpc是一种"远程过程调用协议" RPC采用客户机/服务器模式.请求程序就是一个客户机,而 ...

  7. Hadoop中RPC机制详解之Server端

    2019独角兽企业重金招聘Python工程师标准>>> Hadoop 中 RPC 机制详解之 Client 端 1. Server.Listener RPC Client 端的 RP ...

  8. Hadoop RPC实例

    本文发表于本人博客. 上次写了个hadoop伪分布环境搭建的笔记了,今天来说下hadoop分布式构建的基础RPC,这个RPC在提交Job任务的时候底层就是创建了RPC来实现远程过程调用服务端. 我们首 ...

  9. python rpc webservice_PythonXMLRPC服务器端和客户端实例

    一.远程过程调用RPC XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a transport. ...

  10. Hadoop RPC框架

    原文:http://blog.csdn.net/thomas0yang/article/details/41211259 --------------------------------------- ...

最新文章

  1. spring mvc项目中利用freemarker生成自定义标签
  2. 部委调研互联网金融企业 内部风控指引或出台
  3. 【Python基础】Python 炫技操作:五种 Python 转义表示法
  4. I/O多路转换 select
  5. 格式当前时间mongodb date type
  6. Web 能力分析工具 WCAT
  7. 2022-08-19 mysql/stonedb-索引优化专利交底书-改进点
  8. Android 打开淘宝商品详情
  9. 35岁以上的大龄程序员们,后来都干什么去了?
  10. 流程管理——免费BPM软件
  11. java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector异常
  12. 淘宝/天猫API ,获取sku详细信息 OneBound数据
  13. c#dataview遍历_[C#] DataView用法
  14. c语言macro pdf,C语言的宏macro的使用
  15. CVPR2019:Domain-Specific Batch Normalization for Unsupervised Domain Adaptation无监督域适配的特定域批处理规范化
  16. Rust笔记——解决 Blocking waiting for file lock on build directory
  17. 亲爱的老狼-清除浮动float的5种方法
  18. Android判断APP是否第一次启动
  19. Buffer Pool介绍
  20. 密码忘了?不要紧,Python轻松给你找回来!

热门文章

  1. espcms /public/class_connector.php intval truncation Vul Arbitrary User Login
  2. 第二阶段团队进展报告(3)
  3. Starling粒子系统工具
  4. Linux利用list_head结构实现双向链表
  5. 透过现象看本质,透析NAC系统几步走(4)
  6. python元组怎么使用_Python 2.7 学习笔记 元组的使用
  7. 图书管理系统(说明文档与相关代码)
  8. Java中print、printf、println的区别(对原文进行缩减,截取对自己有用的)
  9. java spring orm jbpm_spring整合jbpm4
  10. python安装wheel失败_Python安装Pyinstaller失败,Preparing wheel metadata ... error