import java.rmi.Naming;
import java.rmi.RMISecurityManager;
public class DisplayPerfectTime {
public static void main(String[] args) throws Exception {
System.setSecurityManager(new RMISecurityManager());
PerfectTimeI t = (PerfectTimeI) Naming.lookup("/PerfectTime");
for (int i = 0; i < 10; i++)
System.out.println("Perfect time = " + t.getPerfectTime());
}
}
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class PerfectTime extends UnicastRemoteObject implements PerfectTimeI {
public PerfectTime() throws RemoteException {
super(); // Called automatically
}
public long getPerfectTime() throws RemoteException {
return System.currentTimeMillis();
}
public static void main(String[] args) throws Exception {
PerfectTime pt = new PerfectTime();
Naming.rebind("/PerfectTime", pt);
System.out.println("Ready to do time");
}
}
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface PerfectTimeI extends Remote{
long getPerfectTime() throws RemoteException;
}
register.policy
grant{permission java.security.AllPermission;};
运行步骤
F:\rmi>javac *.java
F:\rmi>rmic PerfectTime
F:\rmi>start rmiregistry
F:\rmi>java PerfectTime
Ready to do time
另开一DOS窗口
F:\rmi>java -Djava.security.policy=registerit.policy DisplayPerfectTime
Perfect time = 1011585443953
Perfect time = 1011585443968
Perfect time = 1011585444000
Perfect time = 1011585444000
Perfect time = 1011585444015
Perfect time = 1011585444031
Perfect time = 1011585444031
Perfect time = 1011585444046
Perfect time = 1011585444062
Perfect time = 1011585444062
注意:如果在rmic PerfectTime时报找不到PerfectTime类,请在环境变量中的ClassPath中加入:F:\rmi
分享到:
相关推荐
华南理工大学的RMI实验为学生提供了一个宝贵的实践平台,通过实际操作,他们不仅能掌握RMI的基本使用,还能了解到分布式系统设计的关键要素。这将对他们的职业生涯,特别是在软件开发和分布式计算领域,产生深远...
分布式实验报告 RMI.docx 本实验报告主要介绍了 Java RMI(Remote Method Invocation,远程方法调用)的基本概念和实现步骤。RMI 是一种分布式对象通讯机制,允许运行在一个 Java 虚拟机的对象调用运行在另一个 ...
在本实验中,我们将深入理解RMI的工作原理,并通过实际操作来掌握其应用。 首先,RMI的核心概念是远程接口(Remote Interface)。远程接口定义了可以在远程对象上执行的方法,这些方法的调用会像本地方法一样透明。...
在这个“Java RMI 实验”中,我们将探讨如何利用RMI创建一个学生成绩查询系统。 首先,我们来看`StudentInterface.java`。这个文件通常包含了定义远程接口的代码。在RMI中,远程接口定义了可以在远程服务器上执行的...
### 实验2 RMI知识点详解 #### 一、实验背景及目标 本次实验的主要目的是让学生通过实际操作,深入了解并熟练掌握Java RMI(Remote Method Invocation)的编程结构。实验的具体内容是开发一个简单的应用程序,该...
### Java RMI 分布式编程心得详解 #### 一、Java RMI 分布式编程概述 Java远程方法调用(Remote Method Invocation, RMI)是一种让位于不同Java虚拟机(Java Virtual Machine, JVM)上的对象能够互相调用彼此方法...
在这个基于Java的C/S(客户端/服务器)编程实验中,我们将探讨两种不同的实现方式:基于Socket的通信和基于Java Remote Method Invocation (RMI) 的通信。 首先,我们来看基于Socket的C/S编程。Socket是网络编程的...
Java RMI 实验报告 中间件实验(RMI 实例)是 Java RMI(Remote Method Invocation,远程方法调用)的实验报告,旨在通过实验了解 Java RMI 的机制和开发流程。本实验报告主要介绍了 RMI 的基本概念、实验步骤、...
**实践中的RMI实验** 在"rmi会晤分布式实验"中,我们可以模拟一个日程管理系统的场景。服务器端创建并注册一个会晤管理的远程对象,该对象提供了添加、删除会晤等操作。客户端则通过RMI注册表找到这个远程对象,...
Java Remote Method Invocation (RMI) 是Java平台提供的一种分布式计算技术,它允许Java对象在不同的JVM(Java Virtual Machine)之间进行远程调用。RMI是构建分布式应用程序的基础,尤其适用于那些需要跨越网络进行...
这个"RMI初学者实验_留言系统"显然是一个针对RMI技术的学习项目,旨在帮助初学者理解和实践RMI的基本概念和工作原理。 在RMI中,主要有以下几个关键概念: 1. **远程接口(Remote Interface)**:这是定义远程方法...
使用 RPC 编程(socket、RMI…)实现一个远程对象的调用过程。客户端程序发送调用消息(自定义消息的格式)到服务器端,服务器端接收的调用消息,调用本地对象Hello,并将结果返回给调用方,并且显示。
JAVA分布式之RMI实例教程网络通信原理[收集].pdf
具体到实验文件"rmi",这可能是RMI相关代码或者教程的集合,可能包含了服务器端和客户端的示例代码,以及如何在Java中设置和运行RMI服务的说明。"cs"可能代表"Client-Server",也就是客户端-服务器相关的文件,可能...
中间件技术 RMI 实验示例代码 生成 stub 和 skeleton: rmic HelloImpl -vcompat 先运行 Server javac HelloServer.java java HelloServer 再运行 Client: javac HelloClient.java java HelloClient 参考资料:
它来源于西北工业大学的软件学院,是网络与分布计算课程的一个实验项目,重点是Remote Method Invocation(RMI)技术。RMI是Java平台中的一个特性,允许在不同的Java虚拟机之间调用对象的方法,从而实现分布式系统中...
通过这些实验,学生将深入理解多线程的并发控制、服务器的架构设计以及RMI的分布式特性,并能亲手实践,提升实际编程和解决问题的能力。这些技能对于未来从事网络编程、分布式系统开发或是云服务等领域的工作都将...
Java编程实验:远程方法调用(RMI) 远程方法调用(Remote Method Invocation,RMI)是Java平台中的一种核心技术,允许Java程序在不同的网络环境中调用远程对象的方法,实现分布式计算。RMI使得开发者可以构建...
而“RMILab”可能是一个包含实验代码的文件夹,可能包含了服务器端和客户端的Java源代码,以及运行和测试RMI应用程序所需的脚本。 理解RMI的关键在于掌握远程接口、远程实现、服务器和客户端之间的交互,以及如何在...