java RMI编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java RMI编程

Java RMI编程 RMI是什么 RMI: Remote Method Invocation 远程方法调用,提供了Java程序语言的远程通讯功能,这种特性使客户机上运行的程序可以调用远程服务器上的对象,使Java编程人员能够在网络环境中分布操作。实现在不同的Java虚拟机(JVM)之间实现对象与对象的通信。 RMI原理及概念 一个正常工作的RMI系统由下面几个部分组成: 远程服务的接口定义 远程服务接口的具体实现 Stub 和 Skeleton 文件 一个运行远程服务的服务器 一个RMI命名服务,它允许客户端去发现这个远程服务 一个需要这个远程服务的客户端程序 RMI原理及概念 RMI实现实际上由3个抽象层建立: Stubs/Skeletons Layer(存根/主架层); Remote Reference Layer(远程引用层); Transport Layer(传输层)。 RMI原理及概念 RMI原理及概念 RMI原理及概念 电话通信模式 问题场景要知道1+1=?(方法问数学家陈景润) 首先你找到电话员(stub)叫他问问数学家陈景润1+1=?; 第二步电话员拿来电话簿找到数学家陈景润办公室电话(在之前陈景润必顺先要注册电话号码,将姓名与电话号码绑定); 第三步拔通陈景润办公室电话将告之问数学家陈景润要知道1+1=?; 第四步系统将声音信号转化成电信号在电话网络中传输,陈景润助理(Skeleton)听到电话响接通电话; 第五步陈景润助理(Skeleton)听到内容,表示不知道1+1= 去问陈景润; 第六步数学家陈景润听到后告诉助理说:”哦,1+1=2我已经证明出来了”; 第七步助理听到后说1+1=2; 第八步系统将声音信号转化成电信号在电话网络中传输; 第九步电话员听到结果1+1=2; 第十步电话员将听到的结果返回给你1+1=2; RMI编程开发步骤 RMI编程基本步骤: 定义远程接口 实现远程接口 准备远程调用的服务器对象 生成残根Stub(客户代理)和框架Skeleton(服务器实体) 用rmiregistry找到远程对象 运行测试RMI分布式应用 RMI编程实例 参考源代码 1.远程对象的本地接口声明(RMIOperate.java) 该类仅仅是一个接口声明,RMI客户机可以直接使用它,RMI服务器必须通过一个远程对象来实现它,并用某个专有的URL注册它的一个实例。 2.远程对象实现类(OperateImpl.java) 这个类应实现RMI客户机调用的远程服务对象的本地接口,它必须从UnicastRemoteObject继承,构造函数应抛出RemoteException异常。 public class OperateImpl extends UnicastRemoteObject implements RMIOperate RMI编程实例 3.RMI服务器类(RMIServer.java) 该类创建远程对象实现类OperateImpl的一个实例,然后通过一个专有的URL来注册它。所谓注册就是通过Java.rmi.Naming.bind()方法或Java.rmi.Naming.rebind()方法,将OperateImpl实例绑定到指定的URL上。 //创建远程对象的实现实例 OperateImpl operObj = new OperateImpl(); //将实例注册到专有的URL Naming.rebind(rmi:///RMIOperate, operObj); 4.RMI客户机类(RMIClient.java) RMI客户使用java.rmi.Naming.lookup()方法,在指定的远程主机上查找RMI服务对象,若找到就把它转换成本地接口RMIOperate类型。它与CORBA不同之处在于RMI客户机必须知道提供RMI服务主机的URL,这个URL可以通过rmi://host/path或rmi://host:port/path来指定,如果省略端口号,就默认使用1099。Java.rmi.Naming.lookup()方法可能产生三个异常:Java.rmi.RemoteException、Java.rmi.NotBoundException、. MalformedURLException,三个异常都需要捕获。 //根据指定的URL定位远程实现对象 RMIOperate rmiObj = (RMIOperate)Naming.lookup(rmi:// + host + /RMIOperate); 个人实现总结 生成客户端存根

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档