当前位置: 首页 > 知识库问答 >
问题:

JavaRMI添加示例

巴星华
2023-03-14

我正在实现一个简单的JavaRMI应用程序。它的主要目标是加2个整数。代码源如下:客户端和服务器端的AdditionInterfaceimport java。rmi.*;公共接口添加接口扩展远程{public int add(int a,int b)抛出RemoteException;}

附加JAVA

 import java.rmi.*;
 import java.rmi.server.*;

 public class Addition extends UnicastRemoteObject
 implements AdditionInterface {

 public Addition () throws RemoteException { }

 public int add(int a, int b) throws RemoteException {
 int result=a+b;
 return result;
 }
 }

附加服务器

import java.rmi.*;
 import java.rmi.server.*;

 public class AdditionServer {
 public static void main (String[] argv) {
 try {
 System.setSecurityManager(new SecurityManager());

 Addition Hello = new Addition();
 Naming.rebind("rmi://localhost/ABC", Hello);

 System.out.println("Addition Server is ready.");
 }catch (Exception e) {
 System.out.println("Addition Server failed: " + e);
 }
 }
}

添加客户端

import java.rmi.*;

 public class AdditionClient {
 public static void main (String[] args) {
 AdditionInterface hello;
 try {
 System.setSecurityManager(new SecurityManager());
 hello = (AdditionInterface)Naming.lookup("rmi://localhost/ABC");
 int result=hello.add(9,10);
 System.out.println("Result is :"+result);

 }catch (Exception e) {
 System.out.println("HelloClient exception: " + e);
 }
 }
 }

客户端和服务器端的安全策略

    grant {
        permission java.security.AllPermission;

  };

然而,我得到了HelloClient例外:java。安全AccessControlException:拒绝访问(“java.net.SocketPermission”“127.0.0.1:1099”“连接,解决”)错误


共有1个答案

雍骏俊
2023-03-14

您必须首先启动RMI注册表。试着打电话

java.rmi.registry.LocateRegistry.createRegistry(1099);

在尝试(重新)绑定远程对象之前。我不确定,但如果注册表已经启动,此调用可能会失败。第二个问题可能是SecurityManager应用的策略没有连接/解析localhost的权限。尝试ro注释掉System.setSecurityManager(new SecurityManager());以开始。默认的java策略文件只有一个SocketPersion被授予:

permission java.net.SocketPermission "localhost:0", "listen";
 类似资料:
  • 添加示例到Sandcastle在cesium编程入门(七)3D Tiles,模型旋转中提到过,这里是一份完整的说明 创建例子 开启node服务后打开 http://localhost:8080/Apps/Sandcastle/ 会自动跳到 hello world 示例 可以选择点击左上角的【New】按钮新建一个页面,也可以就在当前页面的【JavaScript code】面板中进行修改 如果需要添加

  • 本文向大家介绍JavaScript DOM节点添加示例,包括了JavaScript DOM节点添加示例的使用技巧和注意事项,需要的朋友参考一下

  • 我正在Java开发一个游戏,使用RMI进行所有网络通信。RMI允许我在服务器上调用方法,但对我来说还不够。我还希望服务器能够在连接的客户端之间传播消息。 我的客户机查找服务器(它的接口扩展为远程)并在其上注册。它允许服务器知道谁已连接。我的客户机还实现了一个扩展远程的接口。这是我的代码的一部分: 接口声明: 服务器端: 客户端: 此解决方案适用于本地,但当我尝试通过Internet使用它时则不起作

  • 5. 文档添加与演示 在“讲课模式”中,讲师可提取云端的文档,或添加本地图片作为课件演示。 5.1. 文档提取 云端会自动保存 Web 端上课时使用的课堂文档,讲师使用 APP 时可从云端提取下载。进入菜单栏,选择文档库,提取对应的文档。 5.2. 上传图片 进入菜单栏,选择上传图片,讲师可添加手机本地图片作为演示文档。 5.3. 文档演示 在横屏模式下,讲师在文档演示中可预览、查看用户列表、使用

  • 5. 文档添加与演示 5.1. 文档添加 点击“文档库”,选择本地文档进行上传。上传完成后会进行格式转换,若文档较大处理时间会略长,请耐心等待。云端将保留本次课堂使用的文档,下次上课时会自动添加。文档库支持添加多个演示文档,点击文档库切换演示文档。支持 .doc、.docx、.ppt、.pptx、.pdf、.jpg 文件类型。 注意:如果PPT需要展示动画效果,上传的时候需要勾选PPT动画选项。

  • 本文向大家介绍Django添加sitemap的方法示例,包括了Django添加sitemap的方法示例的使用技巧和注意事项,需要的朋友参考一下 sitemap是 Google 最先引入的网站地图协议,采用 XML 格式,它的作用简而言之就是优化搜索引擎的索引效率,详细的解释可以参考百度百科 。 下面介绍下如何为Django站点添加sitemap功能。 1、启用sitemap 在django的set