欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java rmi远程方法调用基本用法解析

程序员文章站 2022-08-11 18:47:00
本文主要介绍java中的rmi的基本使用1:项目架构api:主要是接口的定义,url地址,端口号rmiconsumer:rmi服务的调用者rmiserver:rmi服务的提供者2:pom.xnl ap...

本文主要介绍java中的rmi的基本使用

1:项目架构

Java rmi远程方法调用基本用法解析

api:主要是接口的定义,url地址,端口号

rmiconsumer:rmi服务的调用者

rmiserver:rmi服务的提供者

2:pom.xnl

 api的pom.xml

  <artifactid>api</artifactid>
  <groupid>com.api</groupid>
  <version>1.0</version>
 rmiconsumer和rmiserver的pom.xml
  <dependency>
    <groupid>com.api</groupid>
    <artifactid>api</artifactid>
    <version>1.0</version>
  </dependency>

 该功能主要是将api的引入到服务端和客户端

3:代码

 api的代码

public interface rmiinterface extends remote {
  string rmi_url = "rmi://127.0.0.1:9080/rmiserver";
  int port = 9080;

  object sayhello(string name) throws remoteexception;
}

  rmiserver的代码

public class rmiinterfaceimpl extends unicastremoteobject implements rmiinterface {
  public rmiinterfaceimpl() throws remoteexception {
  }

  @override
  public object sayhello(string name) throws remoteexception {
    return "你好,你连接成功,姓名:"+name;
  }
}
public class rmiserver {
  public static void main(string[] args) {
    try {
      rmiinterface rmi = new rmiinterfaceimpl();
      //注册通讯端口
      locateregistry.createregistry(rmiinterface.port);
      //注册通讯路径
      naming.bind(rmiinterface.rmi_url,rmi);
      system.out.println("rmi服务端启动成功");
    }catch (exception e){
      e.printstacktrace();
    }


  }
}

rmiconsumer

public class rmiconsumer {
  public static void main(string[] args) {
    //远程调用rmi
    rmiinterface rmiinterface =null;
    try{
      rmiinterface =(rmiinterface) naming.lookup(rmiinterface.rmi_url);
      object ret = rmiinterface.sayhello("张先生");
      system.out.println("测试远程调用成功,返回结果:"+ret);
    }catch (exception e){
      e.printstacktrace();
    }
  }
}

4:总结

 接口必须继承 remote

 接口的实现类必须继承 unicastremoteobject

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。