RMI使得程序员能够在分布式系统软件开发中使用所有的面向对象编程的功能,如对象、类、继承的使用。
JavaRMI扩展了Java的对象模型,对象由服务器管理,客户端通过远程方法调用来调用它们的方法。在RMI中,客户调用一个对象方法的请求以消息的形式传送到管理该对象的服务器,通过在服务器端执行对象的方法来完成该调用,并将处理的结果通过另一个消息返回给客户。
创建远程接口
注意:远程接口必须在客户端和服务端中均定义,且所在包名相同,否则会 ClassNotFoundException异常。
远程接口实现
创建服务器程序
创建客户端程序
客户端程序可以在其他任何一台主机上,只要它能够访问服务端程序的套接字。注意客户端和服务器只要在两个进程中运行,就属于远程调用,所以我建了两个工程,分别运行服务器和客户端程序。
必须实现安全管理器SecurityManager,否则无法从远程下载相应的类,这样还必须创建自己的策略文件,否则会抛出AccessControlException异常。
策略文件myPolice.police,最简单的就是赋予所有权限,并使用java -Djava.security.policy=myPolicy.policy:
同样,服务器端也需要设置。
在客户端,首先从指定的IP地址和端口 获取远程服务器的注册表,从注册表中获取需要的远程对象引用,然后执行相应的操作,这里是注册两个学生的信息,然后显示。
运行结果
首先运行服务端程序,显示绑定成功:

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91985 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!