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

  • 相关阅读:
    WordPress网站绑定多个域名的方法
    htpasswd 命令使用
    在Windows下用OpenSSL生成证书步骤
    WCF中关于List和数据的转换问题
    NET2.0的配置文件
    C# Attribute
    c#自定义属性
    VS2005中读写配置文件(方法二)
    c#的反射
    Asp.NET 操作配置文件 Steven Pei 博客园
  • 原文地址:https://www.cnblogs.com/NaughtyBaby/p/4784505.html
Copyright © 2011-2022 走看看