首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java RMI IIOP能在互联网上工作吗?

Java RMI IIOP能在互联网上工作吗?
EN

Stack Overflow用户
提问于 2011-07-21 00:29:34
回答 3查看 1.2K关注 0票数 2

我知道RMI是在局域网外建立连接的短板。我想知道RMI IIOP是否可以通过internet连接服务器客户端。有可能吗?如果是,可能的解决方案是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-21 00:46:13

RMI在互联网上运行良好,它是基于TCP的。就我个人而言,我会使用KryoNet作为一个RMI实现。它没有任何麻烦,而且速度极快。序列化机制使用Kryo,它是最快的通用序列化库之一。请注意,防火墙可能存在问题。但是,您可以很容易地拥有一个侦听端口80的RMI服务器。这将工作得很好(除非有大量的数据包侦听,我猜)。An RMI server that works over HTTP is interesting too.嗯。

票数 4
EN

Stack Overflow用户

发布于 2011-07-21 01:01:40

是的,但前提是端口在防火墙上是打开的。使用HTTP而不是RMI的优点是,它可以很容易地通过代理服务器传递。

票数 0
EN

Stack Overflow用户

发布于 2011-08-12 06:52:54

就Internet范围的使用而言,使用IIOP比使用原生RMI协议JRMP没有特别的优势。

IIOP确实提供了使用非基于Java的代码调用Java对象的能力,因此,如果您想支持非Java客户机,则需要考虑IIOP或对浏览器/ JavaScript更友好的东西,如SOAP或XMLRPC。

如果您不需要支持非Java客户机,那么没有太多值得推荐的IIOP。使用IIOP,您将失去JRMP提供的分布式垃圾收集,因此您必须决定何时不再发布任何RMI发布的对象。

使用JRMP,您需要担心的是手动管理绑定到RMI注册表的RMI对象。一旦您发布的所有其他对象的所有引用(本地和远程)都被删除,它们将被自动垃圾回收。如果您使用IIOP,那么在需要停止使用它们时,您必须手动调用PortableRemoteObject.unexportObject()。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6765266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档