RPC和RMI

Anonim

RPC与RMI

RPC(远程过程调用)和RMI(远程方法调用)是两种机制,允许用户调用或调用将在用户正在使用的计算机上运行的进程。两者之间的主要区别在于使用的方法或范例。 RMI使用面向对象的范例,用户需要知道对象和他需要调用的对象的方法。相比之下,RPC不是面向对象的,也不处理对象。相反,它调用已经建立的特定子例程。

RPC是一种相对较旧的协议,它基于C语言,因此继承了它的范例。使用RPC,您将获得一个看起来非常像本地调用的过程调用。 RPC处理将调用从本地计算机传递到远程计算机所涉及的复杂性。 RMI做同样的事情;处理从本地到远程计算机的调用传递的复杂性。但是,RMI不是传递过程调用,而是传递对象的引用和被调用的方法。 RMI由Java开发并使用其虚拟机。因此,它的使用专用于Java应用程序,用于在远程计算机上调用方法。

最后,RPC和RMI只是实现同样功能的两种方法。这一切都取决于您使用的语言以及您习惯使用的范例。使用面向对象的RMI是两者之间更好的方法,特别是对于较大的程序,因为它提供了更清晰的代码,一旦出现问题就更容易追踪。 RPC的使用仍然被广泛接受,尤其是当任何替代远程过程协议都不是一种选择时。

摘要:

1.RMI是面向对象的,而RPC则不是 2.RPC是C基,而RMI只是Java 3.RML在调用函数时调用方法 4.RPC是过时的,而RMI是未来