写个 helloworld 的 rmi 程序也花了不少时间, 老出现异常, 主要是由于工程与包结构引起连接权限的问题,
因为是jdk1.5 所以没有自己去生成实现类的存根类了
主要是下面两个方面, 下面的也只是自己测试通过了的方式, 具体是不是一定得这样还不确定
具体的工程结构图及运行命令看后面的几个图
两个工程的源文件也附在最后
1,策略文件
只在客户端配置策略文件
若程序里面配置策略文件为:System.setProperty("java.security.policy", "client.policy");
策略文件 client.policy 放在 src (bin) 目录下,不是 src/sh (bin/sh) 下,因为运行时是从 bin 目录运行 java sh.ClientMain,读取 client.policy 是从 bin 目录读取
也可以象下面这样配置:System.setProperty("java.security.policy", "sh//client.policy");
此时策略文件 client.policy 应放在 src/sh (bin/sh) 目录,运行还是从 bin 目录
2,rmi 注册表的运行
rmi的注册表从 服务器端的 bin 目录下运行
图1, 两个工程结构图
图2, rmi注册表与服务器的运行, 注意路径
图3, 服务器运行后打印的消息图
图4, 客户端的运行及运行结果, 注意路径
下面是源代码: