• 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》中文版

  • 相关阅读:
    (转 )Unity对Lua的编辑器拓展
    unity timeline
    unity拖尾粒子问题
    unity shader 波动圈
    linux教程
    Unity Shader 基础
    ugui拖拽
    unity shader 热扭曲 (屏幕后处理)
    英文取名神器
    lua正则表达式替换字符串
  • 原文地址:https://www.cnblogs.com/NaughtyBaby/p/4784505.html
Copyright © 2020-2023  润新知