zoukankan      html  css  js  c++  java
  • Java RMI 简单示例

    一、创建远程服务

    1、创建 Remote 接口,MyRemote.java

    import java.rmi.*;
    
    public interface MyRemote extends Remote{
    
        public String sayHello() throws RemoteException;
    }

    2、实现 Remote,MyRemoteImpl.java

    import java.rmi.*;
    import java.rmi.server.*;
    
    public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{
    
        public String sayHello(){
            return "Server says,'Hey'";
        }
        public MyRemoteImpl() throws RemoteException{}
        
        public static void main(String[] args){
            try{
                MyRemote service = new MyRemoteImpl();
                Naming.rebind("rmi://localhost:1099/Hello",service);
            }catch(Exception ex)
            {
                ex.printStackTrace();
            }
        }
    }

    3、编译。在以上 java 文件所在目录,按住 shift 键,右键,选择「在此处打开命令窗口」,执行

    javac *.java

    4、用 rmic 产生 stub。

    rmic MyRemoteImpl

    5、启动 RMI registry。

    rmiregistry

    6、启动远程服务。另外打开一个命令窗口,执行

    java MyRemoteImpl

    二、客户端调用远程方法

    1、把第一步的 MyRemote.class 和 MyRemoteImpl_Stub.class 拷贝到客户端文件所在目录。

    2、编写客户端代码 MyRemoteClient.java。

    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://localhost:1099/Hello");
                String s=service.sayHello();
                System.out.println(s);
            }
            catch(Exception ex)
            {
                ex.printStackTrace();
            }
        }
    }

    3、编译

    javac *.java

    4、运行客户端

    java MyRemoteClient

    参考资料:

    1. Kathy Sierra. Bert Bates. 《Head First Java》中文版

  • 相关阅读:
    10.16作业
    day0402作业
    day04作业
    10.13作业
    JVM原理最全、清晰、通俗讲解
    Java的SimpleDateFormat,DateTimeFormatter:YYYY与yyyy
    从源码层面理解 ArrayList 扩容策略
    哈夫曼树
    面向对象三大基本特性,五大基本原则
    数据结构
  • 原文地址:https://www.cnblogs.com/NaughtyBaby/p/4784505.html
Copyright © 2011-2022 走看看