一、引言:
什么是Java RMI?
Java RMI:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。
我们知道远程过程调用(Remote Procedure Call, RPC)可以用于一个进程调
用另一个进程(很可能在另一个远程主机上)中的过程,从而提供了过程的分布能
力。Java 的 RMI 则在 RPC 的基础上向前又迈进了一步,即提供分布式对象间的通讯。
RMI(Remote Method Invocation)为远程方法调用,是允许运行在一个Java虚拟
机的对象调用运行在另一个Java虚拟机上的对象的方法。
这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中。
本次开发任务:
服务器端构建一个图结构,然后客户端可以往这个图插入节点和边,可删除节点(附带删除边),并可查询图的节点数、边数,以及任意两个边的最短路径。
开发环境
1.下载或安装java jdk (1.6或者以上);
2.IDEA 或者 eclipse 等开发环境;
具体过程:
笔者采用的是IDEA+jdk11的开发环境来完成本次实验。具体实验过程如下。
1.打开IDEA
2.导入教师给定的实验压缩包
3.运行server服务器端和client客户端
先运行server(运行成功图)
再运行client客户端
4.在客户端和服务器端进行图操作需要在IDEA中导入jGrapht库文件,笔者采用的方式如下。同时按ctrl+alt+shift+s键打开 Project Structure
点击+号,选择library
选择Java,并找到下载的所需要的jar包的位置导入。
导入完成后效果如下:
至此,所需要的构建图所需要的库已经解决了。还有其他方法比如通过maven导入jGrapht库,可以参考https://jgrapht.org/
5.下面开始构建远程调度,笔者直接在已有的Hello接口以及helloimpl下直接编写。
下面是helloimpl.java文件
下面是Hello.java文件
至此,对图的操作的函数及接口就已经完成了。
6.下面需要在客户端进行图的查询删除等功能。
至此,实验就已经完成了,可以对程序进行调试和修改。
7.运行结果
总结:在本次实验中学到了很多东西,以前没学过的基本是自学以及问其他人来完成的,助教给予了很大的支持和帮助,感谢助教老师的耐心解答,使得我最终能够完成实验。同时也发现了自己的缺陷和不足之处,通过这次实验得到了一些改进。