【问题标题】:Transmitting remote object reference传输远程对象引用
【发布时间】:2014-05-24 15:23:36
【问题描述】:

我正在从事一个大学项目,我必须开发一个由客户端和服务器组成的 P2P 应用程序。 当客户端从服务器请求文件时,服务器返回拥有该文件的客户端列表,客户端连接到这些客户端之一并“下载”它。 问题是我不能使用 RMI 注册表,所以我真的不知道如何将拥有请求文件的客户端列表发送给客户端。

我的意思是,当客户端连接到服务器时,它会将它拥有的文件注册到服务器,并且服务器应该将该文件与该特定客户端相关联。

当其他客户端请求其中一个文件时,服务器会返回对拥有该文件的客户端的引用,并且客户端会在该引用上调用远程方法以获取该文件。

我知道如何使用 RMI 注册表共享远程引用,但我不能使用它。

有人知道我该怎么做吗?

【问题讨论】:

  • 如果你只是想下载一些文件,你为什么不使用HTTP?如果您连接到服务器,请将 HTTP-URL 发送回客户端,以下载文件内容。

标签: java rmi


【解决方案1】:

如果您不能使用 RMI 注册表,那么您基本上就不能使用 RMI,除非有一个友好的 LDAP 服务器可用,这似乎不太可能,或者除非您被允许使用 COSNaming 服务,同上。

【讨论】:

    【解决方案2】:

    您需要为每个有问题的资源分配一个唯一的名称。有很多方法可以做到这一点,但最简单的方法是 URL 或 UUID,客户端将发送到服务器。这些代替了远程引用(引用只是一种名称,它们的范围对于您所描述的内容来说太有限了)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多