Java 网络编程 —— RMI 框架

本文详细介绍了Java RMI(远程方法调用)框架,包括其工作原理、创建RMI应用的步骤(远程接口、远程类、服务器程序、客户程序)、远程方法中的参数与返回值传递方式、分布式垃圾收集机制以及动态加载类的机制。RMI简化了Java程序之间的通信,允许客户端通过代理调用服务器端的远程对象方法。
摘要由CSDN通过智能技术生成

 1、概述

RMI 是 Java 提供的一个完善的简单易用的远程方法调用框架,采用客户/服务器通信方式,在服务器上部署了提供各种服务的远程对象,客户端请求访问服务器上远程对象的方法,它要求客户端与服务器端都是 Java 程序

RMI 框架采用代理来负责客户与远程对象之间通过 Socket 进行通信的细节。RMI 框架为远程对象分别生成了客户端代理和服务器端代理。位于客户端的代理必被称为存根(Stub),位于服务器端的代理类被称为骨架(Skeleton)

当客户端调用远程对象的一个方法时,实际上是调用本地存根对象的相应方法。存根对象与远程对象具有同样的接口。存根采用一种与平台无关的编码方式,把方法的参数编码为字节序列,这个编码过程被称为参数编组。RMI 主要采用Java 序列化机制进行参数编组。存根把以下请求信息发送给服务器:

  • 被访问的远程对象的名字
  • 被调用的方法的描述
  • 编组后的参数的字节序列

服务器端接收到客户端的请求信息,然后由相应的骨架对象来处理这一请求信息,骨架对象执行以下操作:

  • 反编组参数,即把参数的字节序列反编码为参数
  • 定位要访问的远程对象
  • 调用远程对象的相应方法
  • 获取方法调用产生的返回值或者异常,然后对它进行编组
  • 把编组后的返回值或者异常发送给客户

客户端的存根接收到服务器发送过来的编组后的返回值或者异常,再对它进行反编组,就得到调用远程方法的返回结果

JDK5.0 之后,RMI 框架会在运行时自动为运程对象生成动态代理类(包括存根和骨架类),从而更彻底地封装了 RMI 框架的实现细节,简化了 RMI 框架的使用方式

2、创建 RMI 应用

创建一个 RMI 应用包括以下步骤:

  • 创建远程接口:继承 java.rmi.Remote 接口
  • 创建远程类:实现远程接口
  • 创建服务器程序:负责在 RMI 注册器中注册远程对象
  • 创建客户程序:负贵定位远程对象,并且调用远程对象的方法

1. 创建远程接口

远程接口中声明了可以被客户程序访问的远程方法,并直接或间接继承 java.rmi.Remote 接口

import java.rmi.*;

public interface HelloService extends Remote {
    public String echo(String msg) throws RemoteException;
}

2. 创建远程类

远程类必须实现一个远程接口,此外,为了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值