一、HelloInterface接口
import java.rmi.Remote; import java.rmi.RemoteException; public interface HelloInterface extends Remote { //此处定义方法需要抛出RemoteException public void say() throws RemoteException; }
二、接口实现类Hello
import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; public class Hello extends UnicastRemoteObject implements HelloInterface{ /** * */ private static final long serialVersionUID = 4495270645164980784L; private String s; public Hello(String s) throws RemoteException { super(); this.s=s; } /** * 打印 */ @Override public void say() throws RemoteException { System.out.println("hello: "+s); } }
三、服务器端
import java.net.MalformedURLException; import java.rmi.Naming; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; public class RMIServer implements Runnable{ @Override public void run() { try { //绑定端口 LocateRegistry.createRegistry(1099); HelloInterface hi = new Hello("Hello,World!"); //进行对象绑定 Naming.rebind("rmi://192.168.8.88:1099/H", hi); } catch (RemoteException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } } public static void main(String[]args){ try { //绑定端口 LocateRegistry.createRegistry(1099); HelloInterface hi = new Hello("Hello,World!"); //进行对象绑定 Naming.rebind("rmi://192.168.8.88:1099/H", hi); } catch (RemoteException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } } }
四 、客户端
import java.net.MalformedURLException; import java.rmi.Naming; import java.rmi.NotBoundException; import java.rmi.RemoteException; public class RMIClient implements Runnable{ @Override public void run() { try { //从服务器获取对象 HelloInterface hi = (HelloInterface) Naming.lookup("rmi://192.168.8.88:1099/H"); //调用获取对象的方法 hi.say(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } catch (NotBoundException e) { e.printStackTrace(); } } public static void main(String[]args){ try { //从服务器获取对象 HelloInterface hi = (HelloInterface) Naming.lookup("rmi://192.168.8.88:1099/H"); //调用获取对象的方法 hi.say(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } catch (NotBoundException e) { e.printStackTrace(); } } }
五、测试
import org.junit.BeforeClass; import org.junit.Test; import com.rmi.client.RMIClient; import com.rmi.server.RMIServer; public class RMITest { @BeforeClass public static void setUpBeforeClass() throws Exception { } @Test public void testRMI() throws InterruptedException{ RMIServer rs = new RMIServer(); rs.run(); Thread.sleep(100); RMIClient rc = new RMIClient(); rc.run(); } }
相关推荐
Java RMI 简单示例
RMI简单示例,主要用在一次对刚毕业的学生的培训中的。例子内容是完整的,非常简单,一个RMI开发的简单示例
RMI 的简单应用 ,使用Java RMI实现远程方法调用, 客户端 调用服务端方法
NULL 博文链接:https://zhoucl.iteye.com/blog/1173506
java简单示例rmi java简单示例rmi
分布式系统课上留的作业哦!!!应该很有用的,大家支持啊!!!
JMX以RMI方式连接的场景示例,从“服务器A远程获取服务器B的历史IP访问记录”这一场景出发,将JMX框架的各层简单的串了一遍。其中包括了MBean、Agent、Client每个层的详细代码和说明
简单的 RMI 示例 RMI(远程方法调用)。
简单的RMI CallBack调用示例!
一个为2个客户端设计的RMI的简单示例。 该程序有一个奇怪的目的:两个客户端向服务器发送相同顺序的矩阵,然后服务器将它们加起来。 服务器不良。 令客户感到幸运的是,他们知道要发送矩阵的尺寸! 我不写练习,而...
其根据一个简单示例来说明。。rmi 客户端,和远程服务器端
RMI的简单示例 适用于出学者! 什么是RMI 远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制, 使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程 序语法...
远程调用一般分为两种,远程过程调用(RPC)和远程方法调用(RMI)。 RPC RPC属于函数级别的远程调用,其多是通过HTTP传输数据,数据形式有XML、JSON、序列化数据等。在此,用python做一个xml-rpc的示例。 先给...
RMI示例测试环境操作系统:Red Hat Enterprise Linux Server 6.6(圣地亚哥)编译器:javac 1.6.0_36怎么跑编译java文件$ javac * .java 启动Java RMI注册表$ rmiregistry() 启动服务器java -classpath classDir -...
的各种简单示例,快速入门使用 Spring Boot 各种组件 示例项目 基础部分: :Spring Boot 快速入门 Hello world 示例 :Spring Boot 自定义 Banner (启动图案) :Spring Boot 主题切换 :Spring Boot 简单的服务...
内容索引:VC/C++源码,网络相关,RMI 通过C++特有的代码复用机制模拟实现具有类似RMI功能的类库,此类在接到stop命令后,简单的调用TerminateThread函数将所有客户端的请求线程关闭,此欠考虑,应选择一种切实有效的...
VC RMI支持类库的范例源码,示例程序含有客户端和服务端,文件中包括大量的宏定义,包括字符串生成以及联合用的宏。通过C 特有的代码复用机制模拟实现具有类似RMI功能的类库,此类在接到stop命令后,简单的调用...
示例RMI 使用RMI(远程方法调用),安全管理器和策略的概念对服务器JAVA的简单实现。 这是Netbeans IDE的项目。 由巴拉那州联邦技术大学(巴西)的学生开发的项目: 雨果·阿吉亚尔(Hugo Aguiar) 乔斯·卡洛斯·德...
示例描述:演示简单Java语言基础。 BianLiang.java 一个局部变量的例子 第3章 示例描述:本章学习、介绍如何使用控制语句。 BreakText1.java 基于for循环的例子 第5章 示例描述:介绍并演示类的概念以及类的...
一个RMI(远程方法调用)计算器示例。 用于环形结构的硬代码IP地址故障检测器。 一个可在Web应用程序上运行的servlet,仅响应GET请求。 (ServletExample)。 一个更高级的servlet示例,包括会话的使用,servlet...