返回介绍

15.8.3 创建根与干

发布于 2024-10-15 23:56:34 字数 817 浏览 0 评论 0 收藏 0

若编译和运行 PerfectTime.java,即使 rmiregistry 正确运行,它也无法工作。这是由于 RMI 的框架尚未就位。首先必须创建根和干,以便提供网络连接操作,并使我们将远程对象伪装成自己机器内的某个本地对象。

所有这些幕后的工作都是相当复杂的。我们从远程对象传入、传出的任何对象都必须“implement Serializable”(如果想传递远程引用,而非整个对象,对象的参数就可以“implement Remote”)。因此可以想象,当根和干通过网络“汇集”所有参数并返回结果的时候,会自动进行序列化以及数据的重新装配。幸运的是,我们根本没必要了解这些方面的任何细节,但根和干却是必须创建的。一个简单的过程如下:在编译好的代码中调用 rmic,它会创建必需的一些文件。所以唯一要做的事情就是为编译过程新添一个步骤。

然而,rmic 工具与特定的包和类路径有很大的关联。PerfectTime.java 位于包 c15.Ptime 中,即使我们调用与 PerfectTime.class 同一目录内的 rmic,rmic 都无法找到文件。这是由于它搜索的是类路径。因此,我们必须同时指定类路径,就象下面这样:

rmic c15.PTime.PerfectTime

执行这个命令时,并不一定非要在包含了 PerfectTime.class 的目录中,但结果会置于当前目录。

若 rmic 成功运行,目录里就会多出两个新类:

PerfectTime_Stub.class

PerfectTime_Skel.class

它们分别对应根(Stub)和干(Skeleton)。现在,我们已准备好让服务器与客户互相沟通了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文