使用远程对象

RMI全部的宗旨就是尽可能简化远程对象的使用。我们在客户程序中要做的唯一一件额外的事情就是查找并从服务器取回远程接口。自此以后,剩下的事情就是普通的Java编程:将消息发给对象。下面是使用PerfectTime的程序:

 

//: DisplayPerfectTime.java
// Uses remote object PerfectTime
package c15.ptime;
import java.rmi.*;
import java.rmi.registry.*;

public class DisplayPerfectTime {
  public static void main(String[] args) {
    System.setSecurityManager(
      new RMISecurityManager());
    try {
      PerfectTimeI t =
        (PerfectTimeI)Naming.lookup(
          "//colossus:2005/PerfectTime");
      for(int i = 0; i < 10; i++)
        System.out.println("Perfect time = " +
          t.getPerfectTime());
    } catch(Exception e) {
      e.printStackTrace();
    }
  }
} ///:~

ID字串与那个用Naming注册对象的那个字串是相同的,第一部分指出了URL和端口号。由于我们准备使用一个URL,所以也可以指定因特网上的一台机器。
从Naming.lookup()返回的必须造型到远程接口,而不是到类。若换用类,会得到一个违例提示。
在下述方法调用中:
t.getPerfectTime( )
我们可看到一旦获得远程对象的句柄,用它进行的编程与用本地对象的编程是非常相似(仅有一个区别:远程方法会“掷”出一个RemoteException违例)。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索编程
, 对象
, 远程
一个
远程对象调用、远程护理的对象不包括、java 调用远程对象、初始化远程对象失败、远程对象,以便于您获取更多的相关知识。

时间: 2024-09-19 09:55:52

使用远程对象的相关文章

我所理解的Remoting(2):远程对象生命周期的管理[上篇]

1.CLR的垃圾回收机制 在.NET中提到对象的生命周期,我们会不由自主地想到CLR的垃圾回收.在运行一个.NET程序过程中,我们通过某种方式,比如通过new操作符,通过反序列化,通过反射机制,创建一个对象,CLR在为这个对象在托管堆中开辟一块内存空间.随着程序的运行,创建的对象越来越多,托管堆中的可用的内存越来越少,必须有一种机制来判断被分配在托管堆中的对象那些已经不被使用,以及进行对这些对象占用的内存进行回收.这种机制被称为CLR自动内存管理,也就是我们常说的垃圾回收.为了说清楚远程对象的生

我所理解的Remoting (2) :远程对象的生命周期管理[下篇]

在上一篇文章中([原创]我所理解的Remoting(2):远程对象生命周期的管理-Part I),我简要的讲述了CLR的垃圾回收机制和Remoting 基于Lease的对象生命周期的管理.在这篇文章中,我们将以此为基础,继续我们的话题.在文章的开始,我将以我的理解详细地讲述Remoting中两个重要的概念--Lease和Sponsorship.然后我通过一个Sample,为大家演示如何以不同的方法延长远程对象的生命周期. 我们先不谈远程对象.本地对象. 不管是远程的对象,还是本地对象,都对于程序

调用.net remoting返回的MarshalByRefObject类型的对象的生命期如何管理?如何释放这类远程对象占用的资源?

问题描述 调用.netremoting返回的MarshalByRefObject类型的对象的生命期如何管理?是和客户端激活远程对象一样使用生命周期服务吗?如何释放这类远程对象占用的资源?是否是使用析构函数? 解决方案 解决方案二:第一个问题我自己解决了,现在就剩第二个问题了

Flex与.NET互操作 了解FluorineFx的环境配置(远程对象、网关、通道、目的地)_Flex

在本系列文章的前面几篇文章中所介绍的访问Webservice的方法,也就是一种远程对象方法,只不过他是基于WEB服务(WebServie)的远程访问,不是基于远程对象(Remoting Object)的的远程访问.要想直接实现基于对象的远程访问是比较麻烦的,然后FluorineFx则专门为我们提供了该功能,通过 FluorineFx的核心库来开发远程对象(Remoting Object)服务,具体是怎么实现的呢? FluorineFx要求为远程对象提供[RemotingService]标记来提供

.net Remoting 远程对象发布疑问

问题描述 比方我现在注册两个通道,分别为:IpcChannel和TcpChannel现在有两个远程对象,想分别发布到IpcChannel和TcpChannel上,不知怎样实现,劳驾哪位能够帮我解答一下,谢谢!备注:是编程的方式,非配置文件方式 解决方案 解决方案二:怎么没大神关心一下,自己顶一下!

EJB 最佳实践:改进远程对象设计-JSP教程,面向对象/设计

在这一新系列文章中,您将学习如何最佳设计和优化 Enterprise JavaBeans 组件.如何减少 RMI 通信和 JNDI 访问以及最有效地使用企业应用程序.在每篇技巧文章中,企业 Java 编程方面的主要权威人士 Brett McLaughlin 将提供最佳实践或设计模式.许多技巧文章将建立在前面的文章之上.建议您按顺序阅读这些技巧文章,因为它们将帮助您构建有助于您自己的企业应用程序编程的策略和设计方法.在本篇(也是第一篇)技巧文章中,Brett 演示了业务接口模式如何能够改进远程对象

C#如何调试远程对象。

问题描述 一个纠结的问题.说简单也简单,说麻烦也愁人.是这样的.我这是一个winform程序,在程序中调用了一些对象,这些对象是通过Activator.GetObject()这个方法生成的.代码类似与这样IPersonobj=(IPerson)Activator.GetObject(typeof(RemotingObjects.IPerson),"http://221.198.1.232.:8080/RemotingPersonService");stringname=obj.getS

c# 调用远程对象操作C++写的DLL串口通讯

问题描述 //读取第一条纪录[DllImport("oComp2p.dll",EntryPoint="ReadRecord",CharSet=CharSet.Auto,CallingConvention=CallingConvention.Cdecl)]publicstaticexternintReadRecord(stringTVA,stringRVA,stringCardTime,stringCardNo,stringKeyNo,stringACStatus,i

FMS3系列(六):使用远程共享对象实现多人实时在线聊天

FMS开发中,经常会使用共享对象来同步用户和存储数据.对于实现广播文字信息实现聊天的支持非常强大,还可以跟踪用户的时时动作,在开发Flash多人在线游戏中的应用也非常广阔. 在使用FMS开发共享对象时需要注意,只有使用Flash Media Interactive Server或Flash Media Development Server这两个版本时才能够创建和使用远程共享对象,来实现多客户端的应用程序之间共享数据.如果是使用的Flash Media Streaming Server版FMS是不