1、RPC与RMI

(1)RPC 跨语言,而 RMI只支持Java。

(2)RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型,而RPC 不支持对象的概念,传送到 RPC 服务的消息由外

部数据表示 (External Data Representation, XDR) 语言表示,这种语言抽象了字节序类和数据类型结构之间的差异。只有由 XDR

定义的数据类型才能被传递, 可以说 RMI 是面向对象方式的 Java RPC 。

(3)在方法调用上,RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行,但是没有相匹配的签名被添

加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。 在RPC中,当一个请求到达RPC服务器时,这个请求就包含了一个

参数集和一个文本值,通常形成“classname.methodname”的形式。这就向RPC服务器表明,被请求的方法在为 “classname”的类中,

名叫“methodname”。然后RPC服务器就去搜索与之相匹配的类和方法,并把它作为那种方法参数类型的输入。这里的参数类型是与

RPC请求中的类型是匹配的。一旦匹配成功,这个方法就被调用了,其结果被编码后返回客户方。

二。HTTP与RPC

http请求是使用具有标准语义的通用的接口定向到资源的,这些语义能够被中间组件和提供服务的来源机器进行解释。结果是使得一个

应用支持分层的转换(layers of transformation)和间接层(indirection),并且独立于消息的来源,这对于一个Internet规模、多个

组织、无法控制的可伸缩性的信息系统来说,是非常有用的。与之相比较,RPC的机制是根据语言的API(language API)来定义的,而

不是根据基于网络的应用来定义的。

最新文章

  1. WinSCP无法连接 ubuntu 的解决方法
  2. wget下载工具
  3. nodeJS express框架 中文乱码解决办法
  4. ORACLE 12C PDB 维护基础介绍
  5. 以Outlook样式分组和排列数据项
  6. 【转】ConcurrentHashMap完全解析(JDK6/7、JDK8)
  7. iOS人机界面指南(翻译)
  8. 【bzoj1212】 [HNOI2004]L语言
  9. uboot启动后在内存中运行裸机程序hello
  10. Servlet 浅谈(二)
  11. thinkphp整合系列之phpexcel生成生成excel文件
  12. 使用Lucene.net+盘古分词实现搜索查询
  13. C# 移动无标题栏窗体的几种方法
  14. node.js基础
  15. 014_浅说 XSS和CSRF
  16. org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.zhuoshi.entity.Dep#1]
  17. hdu 2181 水搜索
  18. jQuery实现大图轮播
  19. gitignore : VisualStudio.gitignore
  20. easyui导出当前datagrid数据(Word)

热门文章

  1. js:数据结构笔记9--二叉树
  2. HDU3996 Gold Mine(最大权闭合子图)
  3. Unity Built-in Shader详解三
  4. BZOJ4155 : [Ipsc2015]Humble Captains
  5. BZOJ1401 : Hexagon
  6. eclipse 新建 java 文件时自动生成注释
  7. 首发 手把手教你制作 Windows8 应用程序内部的 hubtile (动态瓷砖控件) MetroStyle(转)
  8. QAction QActionGroup QMenu 使用方法
  9. OpenCV count the number of connected camera 检测连接的摄像头的数量
  10. JDBC链接数据库版本三,使用C3P0,使用jar文件两个