RMI-Remote Method Invocation远程方法调用的使用

2023-11-18

手动启动服务方式,参考自:https://www.cnblogs.com/fanghao/p/8918953.html

接口:

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IHello extends Remote {
    public String sayHelloToSomeBody(String someBodyName) throws RemoteException;
}

实现类:

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class HelloImpl extends UnicastRemoteObject implements IHello {
    public HelloImpl() throws RemoteException {
        super();
    }
    public String sayHelloToSomeBody(String someBodyName) throws RemoteException {
        System.out.println("Connected sucessfully!");
        return "你好," + someBodyName + "!";
    }
}

服务端:

import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;

public class HelloServer {
    public static void main(String args[]) {
        try {
            IHello rhello = new HelloImpl();
            LocateRegistry.createRegistry(6666);
            Naming.bind("rmi://localhost:6666/RHello", rhello);
            System.out.println(">>>>>INFO:远程IHello对象绑定成功!");
        } catch (RemoteException e) {
            System.out.println("创建远程对象发生异常!");
            e.printStackTrace();
        } catch (AlreadyBoundException e) {
            System.out.println("发生重复绑定对象异常!");
            e.printStackTrace();
        } catch (MalformedURLException e) {
            System.out.println("发生URL畸形异常!");
            e.printStackTrace();
        }
    }
}

客户端:

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;

public class Client {
    public static void main(String args[]) {
        try {
            // 填写服务器ip
            IHello rhello = (IHello) Naming.lookup("rmi://127.0.0.1:6666/RHello");
            System.out.println(rhello.sayHelloToSomeBody("Erich"));
        } catch (NotBoundException e) {
        } catch (MalformedURLException e) {
            e.printStackTrace();
            e.printStackTrace();
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }
}

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RMI-Remote Method Invocation远程方法调用的使用 的相关文章

  • PSOM

    Message type 1 Record message message type message body Close message type 0x00 SetChannel 0x04 Break 0x06 RpcMessage 0x
  • JavaRMI入门详细

    Java RMI入门 定义 RMI 远程方法调用 Remote Method Invocation 它支持存储在不同地址空间的程序级对象之间彼此进行通信 实现远程对象之间的无缝远程调用 Java RMI 1 用于不同虚拟机之间的通信 2 这
  • 为什么java rmi一直连接到127.0.1.1。当ip是192.168.X.X时?

    我有一个 java rmi 应用程序 我只是这样做 Client Registry registry LocateRegistry getRegistry localhost costApi CostApi registry lookup
  • java rmi -Djava.rmi.server.hostname=localhost 仍然打开一个监听 0.0.0.0 的套接字

    我用 Djava rmi server hostname localhost选项使 rmi 仅在本地主机上侦听 但 netstat 显示套接字正在侦听0 0 0 0 奇怪的是 RMI RenewClean 线程显示其使用的是 localho
  • RMI 中可以通过引用传递吗?

    我读过各种有关使用 RMI 传递变量的文章 有些人说在 RMI 中不可能通过引用传递变量 例如 this one and this one 而其他人则说这是可能的 例如 this one this one and this one 有人可以
  • 获取 java.rmi.UnmarshalException:无法识别的方法哈希:远程对象不支持方法

    我是 RMI 技术的新手 当我运行 rmi 客户端程序时 出现异常 java rmi UnmarshalException 无法识别的方法哈希 远程对象不支持方法 我使用的是jdk1 5 远程方法的参数是序列化对象 这些是服务器代码 这是远
  • RMI 的替代方案

    我有一个小型 Java SE 应用程序 它实际上是一个位于数据库之上的胖客户端 为了进一步提高我的 Java 技能 我决定用它制作一个客户端 服务器应用程序 服务器应用程序与数据库通信并处理各种冗长的操作 而客户端应用程序仅接收结果 主要是
  • 编写安全的 RMI 服务器-客户端应用程序

    我正在编写一个服务器客户端应用程序 其中通过互联网进行通信 我有几个关于安全性的问题和担忧 我做了一些研究 发现这里的一些帖子很有用 但我想要更多信息 我读到的一些相关问题是 通过 RMI 进行客户端的安全身份验证 java rmi 身份验
  • 通过互联网的 RMI iiop

    我正在尝试获取 OracleRMI IIOP 示例工作 但我在 Netbeans 中执行此操作时遇到问题 我的代码如下 界面 import java rmi Remote import java rmi RemoteException pu
  • 服务器如何在 RMI 中与客户端建立会话

    我希望有人告诉我在哪里搜索如何在 RMI 中的客户端和服务器之间建立会话 即用于搜索目的的概念的名称是什么 我在 2001 年的书中将其命名为远程会话模式 这个想法是有一个单例 RMI 对象 绑定在注册表中 除了一个login 方法 该方法
  • 将远程对象反序列化为最窄的可访问类

    In 共享 jar I have abstract class MyParent abstract class MyClass MyParent getFoo 服务器 jar包含 abstract class MyChild extends
  • 将 RMI 限制为一个端口的影响

    我希望能够将我的应用程序使用的端口限制为一些尽可能小的已知集 该应用程序使用 Java RMI 与远程服务器进行通信 注册表在标准端口 1099 上导出 然而 用于导出各种远程对象的端口似乎并不总是一致的 尽管它在短时间内在多个连接中保持不
  • Java RMI 和同步方法

    我正在研究 分布式系统 Tanenbaum 和 Van Steen 所著 一书 他们所说的内容似乎与许多人对 Java RMI 和同步方法的看法相冲突 我的想法是使用同步方法在远程对象实现 因此在服务器上运行的实际实现 上 即使对该方法的调
  • Java RMI - 套接字权限问题

    我在尝试将 java 程序连接到 2 个不同的套接字时遇到问题 基本上我想初始化我的 RMI 服务器 连接到端口 1099 然后在端口 10002 上初始化 PrologBeans 初始化似乎对两者都工作得很好 但是当我尝试访问 prolo
  • Spring:正确设置@ComponentScan

    我为我的设置进行了以下设置Spring Application Context Configuration public class RmiContext Bean public RmiProxyFactoryBean service Rm
  • java rmi传递ImageIcon对象

    我正在做一个rmi client server based program这应该是pass Image object through remote object interfaces 客户端从服务器接收图像 以下是我的代码 在客户处 pub
  • Java RMI 和 RPC 有什么区别?

    Java RMI 和 RPC 之间的实际区别是什么 我在一些地方读到 RMI 使用对象 RPC是基于C的 因此它具有结构化编程语义 另一方面 RMI是基于Java的技术 并且是面向对象的 通过 RPC 您可以调用导出到服务器中的远程函数 在
  • 在 RMI 期间知道端口号

    有没有办法在RMI过程中同时知道客户端和服务器的端口号 当在 RMI 过程中向客户端返回结果时 客户端下次请求该结果时 客户端和服务器之间的对话是否会在与上次相同的端口上 当服务器自第一个结果返回后一直在运行时或新的端口已创建 例如 cal
  • RMI 中的引用传递问题? [复制]

    这个问题在这里已经有答案了 有人可以告诉我我错在哪里 为什么这个 RMI 聊天应用程序不起作用 目标是通过远程对象或序列化对象实现客户端 服务器和逻辑之间的解耦 import javax swing import java awt even
  • Java:无安全管理器:RMI 类加载器已禁用

    您好 我有 RMI 应用程序 现在我尝试从客户端调用服务器上的一些方法 我有以下代码 public static void main final String args try Setting the security manager Sy

随机推荐

  • 20天零基础自学Python

    大家好 我是宁一 Python 数字数据类型是用来存储数值的 是我们从小学就开始接触的老朋友了 也是python中最基础的数据类型 1 Number 数据类型 python3的 Number 数据类型包括 int 整数 float 浮点数
  • B站化播放量为播放时长,是谁的狂欢?

    6月26日晚 B站举办了14周年庆典晚会 在晚会上 除了周深 美依礼芽同框献唱受到关注 B站董事长兼CEO陈睿的演讲内容同样值得深思 一来 陈睿提到 要将目前B站视频前台显示的播放量数据从次数改为分钟数 计划未来几周 将完成产品更新 二来
  • 堆栈内存和闭包

    思维导图 堆栈内存小科普 1 js中的内存分为 堆内存和栈内存 堆内存 只要用来存储引用数据类型的值 对象存的是键值对 函数存的是字符串 栈内存 供js运行的环境 函数执行 存基本数据类型的值 堆栈内存的释放问题 我们每次给变量存值或者执行
  • 程序员秋招最全Java面试题及答案整理(2023最新版)

    前言 大家好 最近一个月 花了不少时间 给大家整理了一套 2023 的技术面试资料 包括各大厂最新面试题以及面经解析涉及JVM Mysql 并发 Spring Mybatis Redis RocketMQ Kafka Zookeeper N
  • 【C刷题】day1

    一 选择题 1 正确的输出结果是 int x 5 y 7 void swap int z z x x y y z int main int x 3 y 8 swap printf d d n x y return 0 答案 3 8 解析 考
  • 怎样将excel文件导入mysql中

    1 整理好excel表中的字段 2 在Navicat中创建表 如果导入的是一个追加的表 则无需创建新表 CREATE TABLE orderinfo orderid VARCHAR 10 NULL 订单 id 主键 userid INT 1
  • 华为OD机试2023年最新题库(JAVA、Python、C++)

    我是一名软件开发培训机构老师 我的学生已经有上百人通过了华为OD机试 学生们每次考完试 会把题目拿出来一起交流分享 重要 5 11月份考的都是OD统一考试 B卷 2023年5月份题库已经更新为OD统一考试 B卷 题库由三部分组成 1 202
  • 【H5】 svg内text、image、path标签的使用

    H5 svg内text image path标签的使用 text标签 div style width 500px height 500px border 2px solid pink margin 50px auto 0 div
  • XML中约束文档的引用和书写

    在XML中定义了一套规则 来对文档内容进行约束 这叫做XML约束 常用的俩种约束语言 DTD约束 Schema约束 XML文档中可以引入多个约束文档 为了防止出现不同含义的同名名称冲突 所以 所以可以XML提供了名称空间 1 DTD语法 D
  • 【HTML】列表标签、表格标签、块级标签、表单标签

    文章目录 一 列表标签 1 无序列表 2 无序列表 3 定义列表 项目列表 二 表格标签 1 表格整体架构 2 表格的标签介绍 3 table标签的属性 4 tr标签的属性 5 th td标签的属性 6 跨行 跨列的表格 三 块级标签 1
  • vue猜数字游戏

    div p msg p div
  • node.js JSON对象和string的相互转化

    JSON stringify obj 将JSON转为字符串 var json aa sdddssd bb 892394829342394792399 23894723984729374932874 cc 11111111111111 gt
  • html5期末知识点归纳总结,web期末考试知识点

    题型及知识点 一 知识点 上课内容全覆盖 除补充的html5和css3的内容 常用的html标记及属性 弄清楚哪些是块元素 哪些是行内元素 特殊字符标记 p40 Css属性 i 字体 font size font family font w
  • 蓝桥杯JAVA B组 2020(1)第五题 排序

    一 题目描述 小蓝最近学习了一些排序算法 其中冒泡排序让他印象深刻 在冒泡排序中 每次只能交换相邻的两个元素 小蓝发现 如果对一个字符串中的字符排序 只允许交换相邻的两个字符 则在所有可能的排序方案中 冒泡排序的总交换次数是最少的 例如 对
  • SQLCipher核心思想

    加密原理 page data iv hmac iv是一段随机数 可以保证每一页的iv值都不一样 和page data一起作用 用于生成hmac值 sizeof page data p
  • kubeasz 二进制安装k8s高可用集群

    一 kubeasz介绍 项目致力于提供快速部署高可用k8s集群的工具 同时也努力成为k8s实践 使用的参考书 基于二进制方式部署和利用ansible playbook实现自动化 既提供一键安装脚本 也可以根据安装指南分步执行安装各个组件 二
  • Maven2部署构件到Nexus时出现的Failed to transfer file错误

    原文出处 http www javatang com archives 2010 01 23 4518375 html 作者 Jet Mah from Java堂 声明 可以非商业性任意转载 转载时请务必以超链接形式标明文章原始出处 作者信
  • jni基础

    JNI相关 静态注册 java代码需要和C 代码相符通讯就需要通过JNI来进行注册 java public native String stringFromJNI 代表该函数的实现在so so Java com first firstndk
  • 内存管理方案

    内存管理方案 Memory Management System Author Owen 目 录 内存管理方案 1 目 录 1 1 概述 2 2 理论依据 2 2 1 不对内存进行管理 2 2 2 对内存进行内部管理 2 3 实现方案 2 3
  • RMI-Remote Method Invocation远程方法调用的使用

    手动启动服务方式 参考自 https www cnblogs com fanghao p 8918953 html 接口 import java rmi Remote import java rmi RemoteException publ