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

转载于:https://www.cnblogs.com/NaughtyBaby/p/4784505.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值