ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:454KB ,
资源ID:3675305      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3675305.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(rmi实验报告Word文件下载.doc)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

rmi实验报告Word文件下载.doc

1、计算机科学与技术班级计算机1班地点520工作室教师 李 萌一、实验目的:了解RMI的调用过程及其使用方法。二、实验要求和内容:实现远程方法(RMI)调用,编写RMI客户端程序和RMI服务器端程序。通过RMI客户端访问RMI服务器端的方法。三、实验平台:操作系统:Windows 7编程工具:MyEclipse四、实验步骤:1、创建远程接口及声明远程方法(HelloInterface.java )2、实现远程接口及远程方法(继承UnicastRemoteObject)(Hello.java)3、启动RMI注册服务,并注册远程对象(HelloServer.java )4、客户端查找远程对象,并调用远

2、程方法(HelloClient.java)5、执行程序:启动服务HelloServer;运行客户端HelloClient进行调用五、程序代码: 1、创建远程接口及声明远程方法(HelloInterface.java)import java.rmi.*; /*远程接口必须扩展接口java.rmi.Remote*/ public interface HelloInterface extends Remote /*远程接口方法必须抛出 java.rmi.RemoteException*/ public String say() throws RemoteException; 2、实现远程接口及远程方

3、法(继承UnicastRemoteObject)(Hello.java)import java.rmi.server.*;/*扩展了UnicastRemoteObject类,并实现远程接口 HelloInterface*/ public class Hello extends UnicastRemoteObject implements HelloInterface private String message; /*必须定义构造方法,即使是默认构造方法,也必须把它明确地写出来,因为它必须抛出出RemoteException异常 */ public Hello(String msg) thro

4、ws RemoteException message=msg; /*远程接口方法的实现 */ public String say() throws RemoteException System.out.println(Called by HelloClient!); return message; 3、启动RMI注册服务,并注册远程对象(HelloServer.java)import java.rmi.Naming;import java.rmi.registry.LocateRegistry;public class HelloServer /*启动 RMI注册服务并进行对象注册 */ pu

5、blic static void main(String argv) try /*启动RMI注册服务,指定端口为1099 1099为默认端口)*/ LocateRegistry.createRegistry(1099); /*创建远程对象的一个或多个实例,下面是 hello对象*/ /*可以用不同名字注册不同的实例 */ HelloInterface hello=new Hello(Hello everyone!My name is xie zhi xing. /*把hello注册到 RMI注册服务器上,命名为 Hello*/ Naming.rebind(Hello,hello); /*如果要

6、把 hello实例注册到另一台启动了 RMI 注册服务的机器上 */ /*Naming.rebind(/192.168.1.105:1099/Hello*/ System.out.println(Hello Server is ready now! catch (Exception e) System.out.println(Hello Server failed: +e); 4、客户端查找远程对象,并调用远程方法(HelloClient.java)public class HelloClient /*查找远程对象并调用远程方法 */ try HelloInterface hello=(Hel

7、loInterface)Naming.lookup( /*如果要从另一台启动了 RMI 注册服务的机器上查找 hello实例*/ /*HelloInterface hello=(HelloInterface)Naming.lookup( /*调用远程方法 */ System.out.println(hello.say(); catch(Exception e) HelloClient exception: 六、实验运行结果: 1、启动服务HelloServer 2、运行客户端HelloClient进行调用 3、运行客户端调用后的服务器端七、实验总结分析:本次实验中并没有用到JDK 所带的命令r

8、mic编译实现类得到存根(Stub) 类,也没用命令rmiregistry命令来启动RMI注册服务。在启动rmiregistry之前必须能让它加载到相应的stub类,这就是造成*_Stub类找不到的原因。如果只是按上面的代码,则服务程序HelloServer客户端程序 HelloClient都必须运行在本机 (如此则RMI有何意义呢?);别急,只要修改 HelloClient 类,使用第二种形式的 lookup 查找语句,注释第一条lookup 语句,取消注释第二条 lookup 语句其中的IP 地址和端口号1099为RMI注册服务器的IP和端口号,这样HelloClient 就可以在另一台机

9、器运行了,当然 HelloInterface 类必须能找到(但也可指定参数Djava.rmi.server.codebase 从网络加载HelloInterface类)。lookup() 默认为从本机127.0.0.1的1099端口上查找Hello命令对象,如果第二条语句写成lookup(192.168.1.105/Hello) 与原语句是同等的,因为默认端口号就是1099。代码中HelloServer和HelloClient省略了设置安全管理器的过程 System.setSecurityManager(newRMISecurityManager(); ,如果设置的安全管理则必须编写相应的访问

10、策略文件,并且在执行时指定参数,无论是启动服务端还是客户端都可以用参数 Djava.rmi.server.codebase=http:/unmi.Blog 一样从网络上加载类,这样更方便于 RMI 客户端的部署,如 RMI客户端是一个 Applet可以拿单独一台机器运行rmiregistry (它需要能加载到相应的 stub 类,设置classpath)或用LocateRegistry.createRegistry(port),只作为RMI远程对象的RMI 集中注册的服务器,真正提供服务对象在网上注册,客户端只需从注册服务器上查找远程对象引用,然后调用远程方法,具体由谁提供服务由注册服务器来。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2