文章目录
一、远程方法调用RMI
- 与RPC(远程过程调用)紧密联系,RMI扩展到了分布式对的范畴
- 访问对象能够调用位于潜在的远程对象上的方法
- RPC和RMI的共性如下:
都支持接口编程。
都是典型的基于请求-应答协议构造的,并提供一系列如最少一次、最多一次调用语义。
都提供相似程度的透明性。 - RMI特殊性
程序员能够在分布式系统软件开发中使用所有面向对象编程的功能。
基于面向对象系统中对象标识的概念,在基于RMI系统中的所有对象都有唯一的对象引用。 - 完成远程方法调用涉及的独立对象和模块
二、Java RMI编程实例
实验目标
给定包含学号和成绩的服务器文件,编写Java RMI服务器和客户端程序,实现客户端通过学号获取对应成绩
源代码
FindScoreByID接口
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface FindScoreByID extends Remote {
String getScore(String id) throws RemoteException;
}
FindScoreByIDService类
FindScoreByID接口的实现类FindScoreByIDService
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;
public class FindScoreByIDService