关系疑问的什么是RMI RMI 远程方法调用 (关系问句)

关系疑问的什么是RMI RMI 远程方法调用 (关系问句)

本文目录导航:

远程方法调用(RMI)关系疑问的什么是RMI?

Java远程方法调用(JavaRMI)是JavaAPI对远程环节调用(RPC)提供的面向对象的等价方式,允许间接传输序列化的Java对象和散布式渣滓回收。

远程方法调用可以看做是激活远程正在运转的对象上的方法的步骤。

RMI对调用者是位置透明的,由于调用者觉得方法是口头在本地运转的对象上的。

经过RMI 失掉准确期间

间接上代码 比着写一遍就懂了

接口:

网吧远程调用

一、Java中的远程方法调用 远程方法调用(Remote Method Invocation, RMI)是Java1.1引入的散布式对象软件包,它的发生简化了在多台机器上的Java运行之间的通讯。

相比CORBA,RMI配置较弱且只能用于Java系统。

二、成功一个便捷的RMI 要经常使用RMI,必定结构四个重要的类:远程对象的本地接口、RMI客户、远程对象成功和RMI主机。

RMI主机生成远程对象成功的一个实例,并用一个不凡的URL注册它,RMI客户在远程主机上查找对象,若找到就把它转换老本地接口类型,而后像一个本地对象一样经常使用它。

上方是一个便捷的RMI例子,远程对象只前往一个信息字符串。

要使这个例子更有价值,咱们须要做的就是完善远程对象成功类。

1.远程对象的本地接口类() 该类仅仅是一个接口,而不是成功,RMI客户机可以间接经常使用它,RMI主机必定经过一个远程对象来成功它,并用某个URL注册它的一个实例。

import .*; public interface Rem extends Remote { public String getMessage() throws RemoteException;} 本地接口(Rem)必定是公共的,否则客户机在加载一个成功该接口的远程对象时就会出错。

此外,它还必定从承袭而来,接口中的每一个方法都必定抛出远程意外。

客户类() RMI客户经常使用在指定的远程主机上查找对象,若找到就把它转换老本地接口Rem类型,而后像一个本地对象一样经常使用它。

与CORBA不同之处在于RMI客户必定知道提供远程服务主机的URL,这个URL可以经过rmi://host/path或rmi://host:port/path来指定,假设省略端口号,就经常使用1099。

或者发生三个意外:RemoteException、NotBoundException、MalformedURLException,三个寻常都须要捕捉。

RemoteException、Naming和NotBoundException在.*中定义,MalformedURLException在.*中定义。

另外,客户机将向远程对象传递串行化对象Serializable,所以还应在程序中输入.*。

import .*; import .*; import .*; public class RemClient { public static void main(String[] args) { try { String host = ( > 0) ? args[0] : localhost; file://从命令行读取远程主机名 file://经过URL在远程主机上查找对象,并把它转化为本地接口Rem类型 Rem remObject=(Rem)(rmi:// + host + /Rem); (()); file://调用远程对象的方法 } catch(RemoteException re) {(RemoteException: + re); <br/><br/>} catch(NotBoundException nbe) {(NotBoundException: + nbe); <br/><br/>} catch(MalformedURLException mfe){(MalformedURLException:+ mfe); <br/><br/>}}} 3.远程对象成功类() 这个类真正成功RMI客户调用的远程对象,它必定从UnicastRemoteObject承袭,其结构函数应抛出RemoteException意外。

import .*; import ; public class RemImpl extends UnicastRemoteObject implements Rem { public RemImpl() throws RemoteException {} file://结构函数抛出RemoteException意外 public String getMessage() throws RemoteException { return(Here is a remote message.); }} file://向RMI客户前往一个信息串 主机类() 该类创立远程对象成功RemImpl的一个实例,而后用一个特定的URL来注册它,所谓注册就是经过或来将RemImpl实例绑定到URL上。

import .*; import .*; public class RemServer { public static void main(String[] args) { try { RemImpl localObject = new RemImpl(); file://生成远程对象成功的一个实例 (rmi:///Rem, localObject); file://将远程对象实例绑定到rmi:///Rem上 }catch(RemoteException re){(RemoteException:+re); <br/><br/>}catch(MalformedURLException mfe) {(MalformedURLException: +mfe); <br/><br/>}}} 三、编译和运转 1.如何在Java中成功远程方法调用(1) 2.如何在Java中成功远程方法调用(2) 编译RMI客户和主机,这将智能编译远程对象的本地接口和远程对象成功 Javac file://智能编译远程对象的本地接口 Javac file://智能编译远程对象成功 2. 生成客户承接模块和主机框架 rmic RemImpl 这将结构RemImpl_和RemImpl_。

请将、和RemImpl_拷贝到RMI客户机,将、 、和RemImpl_拷贝到RMI主机。

3. 进行RMI注册 rmiregistry file://在主机上口头。

不论有多少个远程对象,本操作只有做一次性 4. 运转 Java file://进行RMI主机(在主机上口头) Java file://进行RMI客户,将输入“Here is a remote message.”

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读