Java RMI 简明教程

发布时间:2026/8/28 20:11:10
Java RMI 简明教程 1、写接口package rmi.server; import java.rmi.Remote; import java.rmi.RemoteException; public interface MyRemote extends Remote { String doSomeThingA() throws RemoteException; String doSomeThingB() throws RemoteException; }2、写实现类package rmi.server; import java.rmi.Naming; import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote { private static final long serialVersionUID 1L; private String string; public MyRemoteImpl() throws RemoteException { string System.currentTimeMillis(); } Override public String doSomeThingA() { return A: string; } Override public String doSomeThingB() { return B: string; } public static void main(String[] args) throws Exception { MyRemote myRemote new MyRemoteImpl(); Naming.bind(myRemote, myRemote); } }3、生成stub在命令行进入class文件所在的根目录比如我机器上的对应目录是D:\workspace\youbang\rmi_server\build\classes注意要进入根包所在目录而不是进入MyRemoteImpl.class所在的目录。在这个目录下执行命令rmic rmi.server.MyRemoteImpl进入目录D:\workspace\youbang\rmi_server\build\classes\rmi\server会发现多出一个.class文件MyRemoteImpl_Stub.class4、执行注册命令目录不变rmiregistry5、运行rmi.server.MyRemoteImpljava rmi.server.MyRemoteImpl这样RMI的服务端就运行起来了。6、写一个客户端程序调用一下试试package rmi.server; import java.rmi.Naming; public class Test { public static void main(String[] args) throws Exception { MyRemote myRemote (MyRemote) Naming.lookup(rmi://127.0.0.1/myRemote); System.out.println(myRemote.doSomeThingA()); System.out.println(myRemote.doSomeThingB()); } }运行结果A:1547025085428B:1547025085428写在末尾值得一提的是MyRemote.java类中所有方法的参数和返回值要么是原始类型要么是可序列化类型。另外在运行MyRemoteImpl之前要先执行rmiregistry命令。青蛙客服系统https://download.csdn.net/download/look4liming/93326820