分布式计算中有个远程方法的调用,在此基础上有个作业是在调用的远程方法中传递两个参数,
一个参数是本地对象,一个参数是远程对象。
下面就对这次的作业结果进行整理。
作业的要求如下:Java RMI远程方法调用实验:若一个方法是远程调用,其参数一是本地对象、参数二是远程对象,请实现程序,
在三台计算机上执行该程序,观察实验现象,报告实验结果。
作业要求图:
==============================================================分割线
以下是部署过程:
因为需要三台计算机来实现,所以我是这么分布的。
计算机A作为客户端,也就是图中的机器A。
计算机B作为远程对象端 ,也就是图中的机器B。
计算机C作为服务器段,也就是图中的机器C。
在计算机A上的代码是这么部署的(共有四个文件):
LocalObj.java——用于生成本地对象
SomeClient.java(主文件)——本地客户端,用于连接远程对象和调用远程方法
SomeInterface.java(接口)——远程对象的存根,调用的远程方法为此接口实现对象的方法,其对象实现于机器C
RemoteObj.java(接口)——远程对象的存根,仅用于调用远程对象,其对象实现于机器B
在计算机B上的代码是这么部署的(共有三个文件):
SomeServer.java——B机器上的主文件,负责绑定对象和注册地址
RemoteObj.java(接口)——A机器上需要调用对象在B机器上的骨架
RemoteObjImpl.java——接口Remote的实现
在计算机C上的代码是这么部署的(共有五个文件):
SomeServer.java——C机器上的主文件,负责绑定对象和注册地址,以及方法的调用过程
RemoteObj.java(接口)——A机器上需要调用对象在C机器上的骨架
SomeInterface.java(接口)——A机器上需要调用的方法在C机器上的骨架
LocalObj.java——A机器上传递过来的本地对象在C机器上的骨架
So