【问题标题】:RMI for low bandwidth - alternative?用于低带宽的 RMI - 替代方案?
【发布时间】:2012-08-06 21:17:03
【问题描述】:

我正在建立一个客户端-服务器连接,稍后将针对低带宽。 目前我正在使用套接字。但现在我围绕着 RMI——这似乎满足了我的需求: 从客户端调用服务器端方法。

我的问题是:我应该深入了解 RMI,还是有更好的方法我可能不知道?

我的目标特别是在服务器上有一些方法,然后我可以由客户端执行。所以我的“消息队列”不能是静态的,因为它必须是在使用套接字并从 read() 获取字符串时。

【问题讨论】:

  • 如果你真的想要低带宽,你可以推出一个定制的协议,具体到你需要做的事情,这样每个“方法”都有预定义的消息类型你需要远程调用......但不,我认为这没有必要,至少现在不是。 RMI 应该可以正常工作。

标签: java sockets proxy rmi


【解决方案1】:

我不会从头开始写这样的东西。

RMI 表示纯 Java 客户端,RMI 或 CORBA 表示有线协议。

简单和开放赢得了胜利:为什么不考虑一个基于 Web 的 HTTP 服务,通过 SOAP、REST 或 RPC-XML 向客户端公开方法?那些可以被非 Java 客户端调用;它们在网络上可用;它们提供与 RMI 相同的优势。

我不明白为什么有人会再从原始 RMI 开始。它失去了争论,就像 CORBA 所做的那样。

【讨论】:

  • 确实 SOAP 看起来很有趣,而且似乎也符合我的需要。将仔细研究,因为无论如何我最终都会将所有内容部署到 web 应用程序。
  • 当每个 JRE 中都有一个 ORB 时,你不能说 CORBA '失去了论据';当 RMI/IIOP 是 J2EE 的强制协议时;当 ORB 是大多数 J2EE 实现的基础时;当您在自己的答案中引用 RMI/IIOP 作为解决方案时。
  • 我认为这仍然是一个有效的说法,因为 Web 服务比 CORBA 更常用。简单和开放赢得了胜利。出于遗留原因,每个 JRE 都附带一个 ORB。 CORBA 在 1995 年仍然很重要。现在不是。
  • 但这是真的吗?您必须将大多数 J2EE 安装算作 CORBA 安装。你有任何事实支持这些断言吗?
  • 也许在被子里。我所知道的是,像 Iona 这样的 CORBA 供应商已经不复存在。复杂性、互操作性和专有标准使它们停业。我从来没有听说过有人说他们要开始新的 CORBA 安装。我确实看到每个人都在使用 Web 服务或试图弄清楚如何到达那里。亚马逊使用 CORBA 吗?不,他们向客户群公开 Web 服务。 SOAP 或 REST,任你选择。这个事实对你来说足够了吗?
猜你喜欢
  • 2023-04-07
  • 2012-12-06
  • 2017-05-28
  • 2013-03-26
  • 2018-10-15
  • 1970-01-01
  • 1970-01-01
  • 2022-07-25
  • 2021-08-16
相关资源
最近更新 更多