0

我非常喜欢 RMI,所以我的问题可能有点误解。

我现在要描述我的问题。

当我在 Eclipse 上开发 RMI 应用程序时:

服务器端:

  1. 创建一个项目只是为了定义我的应用程序需要的所有接口(扩展远程)。
  2. 创建一个用于实现上述接口的项目。
  3. 创建一个服务器项目并将远程对象注册到 RMIRegistry。

客户端

  1. 创建一个客户项目。我的问题在这里:

    一个。CalInterface c = (CalInterface)r.lookup("mycalserver");

因为 CalInterface 不在客户端项目中,所以我需要构建 CalInterface .class 并将其复制到客户端项目(通过添加外部类文件夹)。它工作正常。

我的问题是:

  1. 如何在客户端项目中自动导入?
  2. CalInterface.class 是客户端中的存根角色吗?
  3. 我的方法适合开发 RMI 应用程序吗?

谢谢你。

4

1 回答 1

1

服务器端:

创建一个项目只是为了定义我的应用程序需要的所有接口(扩展远程)。

不,这应该是一个单独的项目,由服务器和客户端项目共享。它不仅必须包含远程接口,还必须包含远程接口所依赖的任何应用程序类,以此类推,直到关闭。

创建一个用于实现上述接口的项目。创建一个服务器项目并将远程对象注册到 RMIRegistry。

您不需要这两个,您可以将它们组合成一个服务器项目,并将共享项目添加到其中。

客户端

创建一个客户项目。

并将共享项目添加到其中。

我的问题是:

如何在客户端项目中自动导入?

看上面。

CalInterface.class 是客户端中的存根角色吗?

不,它是一个远程接口。您从中获得的对象是实现lookup()接口的远程存根,但其机制是自动的,与您无关。

我的方法适合开发 RMI 应用程序吗?

不,见上文。

于 2013-10-13T06:19:55.543 回答