繁体   English   中英

什么是远程方法调用(RMI)?

[英]What is Remote Method Invocation (RMI)?

我发现RMI的许多解释似乎是指不同的事物。 这些是我发现的一些矛盾之处。

  • (已解决)RMI与语言无关 RMI仅适用于JAVA(感谢@EJP引用RMI / JRMP和RMI / IIOP)

  • RMI和RPC都是分布式系统相互通信的方式, 或者 RPC是分布式系统相互通信的方式,而RMI仅用于JAVA对象相互通信。

  • 远程方法调用是一个宽泛的术语,描述了分布式系统如何相互通信, 或者 RMI是一个特定的术语,描述了远程Java对象如何相互通信。

有人可以针对这些冲突点给出RMI的定义吗?

什么是远程方法接口(RMI)?

不是。 这是远程方法调用。

这些是我发现的一些矛盾之处。

RMI与语言无关,或者RMI仅适用于JAVA

我不知道其他语言中称为RMI的任何其他内容,如果存在,则无法与Java RMI通信。 我很想知道您在其他地方读过什么。

RMI和RPC的功能相同,只是RMI是面向对象的,或者RMI是实现RPC的一种方式(它们是同一“级别”还是RMI是RPC的示例?)

这些语句没有冲突,但是RMI实际上并不是实现 RPC的一种方式,我再次很好奇您在其他地方读到的内容。 RMI是对object的远程方法调用,其中RPC是不带对象的远程过程调用。

RMI仅在JAVA中是远程方法调用,或者可以使用CORBA,.NET Remoting,JAVA RMI或其他方式实现远程方法调用。 有人可以针对这些冲突点给出RMI的定义吗?

RMI / JRMP和RMI / JERI仅Java。 RMI / IIOP也是仅Java,但在各种限制下,它可以与其他语言的CORBA实现互操作。 .NET Remoting完全是另一回事。

重新编辑:

RMI和RPC都是分布式系统相互通信的方式

是。

OR RPC是分布式系统彼此通信的一种方式,而RMI仅用于JAVA对象彼此通信。

否。RMI是面向对象的RPC。 在您要求编辑之前,我已经说过。

远程方法调用是一个广义术语,描述了分布式系统如何相互通信

可以互相交流。

OR RMI是一个专门描述远程Java对象如何相互通信的术语。

否。RMI是客户端调用远程对象上的方法的一种方式,该语句与“或”之前的内容并不矛盾。 除了一种特殊情况外,这与两个远程对象彼此通信无关。

我不认为这些新问题除了重述原始的混乱之外没有做任何其他事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM