Java RMI 简单示例

时间:2022-09-05 10:45:54

一、创建远程服务

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

Java RMI 简单示例

二、客户端调用远程方法

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

Java RMI 简单示例

参考资料:

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

Java RMI 简单示例的更多相关文章

  1. Java RMI简单例子HelloWorld

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...

  2. Java RMI 简单实现

    提供远端访问的时候,我们首先需要定义远端能够访问哪些东西,在Java中,定义这类接口需要实现Remote接口 public interface Business extends Remote{ pub ...

  3. hdfs的java接口简单示例

    public class HDFSDemo { private FileSystem fs = null; @Before public void init() throws IOException, ...

  4. Java RMI 介绍和例子以及Spring对RMI支持的实际应用实例

    RMI 相关知识 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网 ...

  5. Java RMI 入门指南

    开通博客也有好些天了,一直没有时间静下心来写博文,今天我就把两年前整理的一篇关于JAVA RMI入门级文章贴出来,供有这方面需要的同学们参考学习. RMI 相关知识 RMI全称是Remote Meth ...

  6. java RMI入门指南

    感觉这篇文章不错,直接转了 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体如今它强大的开发分布式网络应用的能力上,是纯J ...

  7. JAVA RMI调用实战学习

    JAVA RMI 实战示例,参考网址: http://diaoge.iteye.com/blog/245170 这个示例很清楚地阐释了rmi的使用方法, 但示例都是放在一起的, 实际使用中我们可能会将 ...

  8. 可运行的Java RMI示例和踩坑总结

    简述 资料参考: https://docs.oracle.com/javase/tutorial/rmi/overview.html https://blog.csdn.net/bigtree_372 ...

  9. JAVA使用jdbc连接MYSQL简单示例

    以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...

随机推荐

  1. mvc通过controller创建交互接口

    public JsonResult Home(string userName, string password, string type) { List<person> list = ne ...

  2. bootstrap的学习-基础样式和排版一

    一.列表去除样式和横排排列 classs="list-unstyled","list-inline" 二.[表格].table 类指定基本样式,.table-s ...

  3. logistic回归模型

    一.模型简介 线性回归默认因变量为连续变量,而实际分析中,有时候会遇到因变量为分类变量的情况,例如阴性阳性.性别.血型等.此时如果还使用前面介绍的线性回归模型进行拟合的话,会出现问题,以二分类变量为例 ...

  4. ati显卡驱动后,性能不咋地

    ubuntu装了ati的闭源驱动后,拖动窗口,会有明显的断裂感,不够平滑

  5. Mybatis 动态获取字段值(不需要创建javabean)

    最近遇到一个这样的需求,如下: 用户可以通过自定义模板选择需要查询显示的字段,需要动态查询显示. 前提:数据库有一张表,里面有400多个字段. 要求:用户在前台可以自定义模板,一个模板可能对应x个字段 ...

  6. uva 10330 - Power Transmission&lpar;网络流)

    uva 10330 - Power Transmission 题目大意:最大流问题. 解题思路:増广路算法. #include <stdio.h> #include <string. ...

  7. H5本地储存Web Storage

    一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了C ...

  8. 【bzoj 1095】&lbrack;ZJOI2007&rsqb;Hide 捉迷藏

    题目链接: TP 题解: 样例好良心,调样例3h一A…… 细节好多……诸如没完没了的pop和push……搞得头都大了. 同情zzh……调了整一天了. 动态点分治裸题……果然每个“裸题”打起来都跟shi ...

  9. sublime插件不能使用,提示plugin&lowbar;host has exited unexpectedly

    sublime Text3一打开软件就提示plugin_host has exited unexpectedly,插件不能使用 解决方法很简单: 1.首先,ctrl + shift + p  --&g ...

  10. 逻辑回归与神经网络还有Softmax regression的关系与区别

    本文讨论的关键词:Logistic Regression(逻辑回归).Neural Networks(神经网络) 之前在学习LR和NN的时候,一直对它们独立学习思考,就简单当做是机器学习中的两个不同的 ...