Java RMI 概述
来源:互联网 发布:30岁程序员找不到工作 编辑:程序博客网 时间:2024/05/23 01:16
定义
Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。
如何制作服务端(“Say Hello 为例”)
1.制作服务端接口
import java.rmi.*;public interface MyRemote extends Remote{public String sayHello() throws RemoteException;}
2.制作服务端接口实现
import java.rmi.*;import java.rmi.server.*;public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{public String sayHello(){return "Server says: 'Hello'";}public MyRemoteImpl() throws RemoteException{}public static void main(String[] args){try{MyRemote service = new MyRemoteImpl();Naming.rebind("RemoteHello", service);}catch(Exception e){e.printStackTrace();}}}
3.使用rmic产生stub和skeleton
打开新的cmd命令窗口,执行:
javac MyRemote.javajavac MyRemoteImpl.javarmic MyRemoteImpl
4.启动rmiregistry
打开新的cmd命令窗口,执行:
rmiregistry
5.启动服务端服务
打开新的cmd命令窗口,执行:
java MyRemoteImpl
客户端如何调用?
1.制作客户端
import java.rmi.*;public class MyRemoteClient{public static void main(String[] args){new MyRemoteClient().go();}public void go(){try{MyRemote service = (MyRemote)Naming.lookup("rmi://127.0.0.1/RemoteHello");String s = service.sayHello();System.out.println(s);}catch(Exception e){e.printStackTrace();}}}
2.运行
javac MyRemoteClient.javajava MyRemoteClient
输出结果:Server says: 'Hello'
(需要保证服务端第三步制作的stub与客户端程序在同一个目录)
原理
原理图
总结:Client程序通过查找客户端stub与服务端的Skeleton进行通信,服务端的Skeleton调用服务端的实际执行程序,最终结果通过Skeleton、Stub返回给Client
- Java rmi 概述
- Java RMI 概述
- Java RMI分布式应用程序概述
- RMI使用概述(ZZ)
- java rmi
- java rmi
- Java RMI
- java RMI
- java RMI
- Java RMI
- java RMI
- JAVA RMI
- Java RMI
- Java RMI
- Java RMI
- java RMI
- Java RMI
- Java RMI
- 约束性条件维护 oracle约束
- 输入ipconfig 提示不是内部或外部命令
- 基于Android平台的无线传感器网络(ZigBee)监控系统
- ajax解决缓存问题
- 创建linux 用户登录脚本
- Java RMI 概述
- 找符合条件的整数
- android 任务和返回堆栈(Tasks and Back Stack)
- 斐波那契数列
- Window.open()方法参数详解
- Uninstall Kea Coloring Book with WindowsUninstaller.Org Removal Tips
- dm device mapper
- NoSuchMethodError: antlr.collections.AST.getLine()I
- UVA 539 - The Settlers of Catan(深搜 回溯)