RMI 需要 java.rmi.server.hostname 进行 NAT,那么像 CORBA 这样的其他技术解决 NAT 问题的方法是啥?

Posted

技术标签:

【中文标题】RMI 需要 java.rmi.server.hostname 进行 NAT,那么像 CORBA 这样的其他技术解决 NAT 问题的方法是啥?【英文标题】:RMI needs java.rmi.server.hostname for NAT, so what's the way other technology like CORBA to resolve NAT issue?RMI 需要 java.rmi.server.hostname 进行 NAT,那么像 CORBA 这样的其他技术解决 NAT 问题的方法是什么? 【发布时间】:2013-01-29 10:06:45 【问题描述】:

在Java中,如果客户端需要打开与RMI服务器的连接,我们需要在服务器的启动参数中指定-Djava.rmi.server.hostname=hostxxx, 并将主机条目添加到客户端的主机文件中,如下所示:

x.x.x.x  hostxxx

由于每个客户端都需要添加hosts条目,所以不方便。

我只是想知道 CORBA(或其他 RPC 解决方案)解决此问题的方法是什么? 他们是否还需要修改诸如 RMI 之类的 hosts 条目?

【问题讨论】:

【参考方案1】:

该系统属性仅适用于 RMI/JRMP。我不知道有什么方法可以为 CORBA 做这件事,我已经看过了。

【讨论】:

从这个 pdf,pdf.aminer.org/000/523/991/…,CORBA 需要部署代理来解决 NAT/防火墙问题,似乎比 RMI 更复杂。

以上是关于RMI 需要 java.rmi.server.hostname 进行 NAT,那么像 CORBA 这样的其他技术解决 NAT 问题的方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

回调中的 RMI 连接失败检测

RMI - 为啥有 client.policy

RMI简单实现

hession RMI 远程调用

什么是允许 RMI 和 JPA/Hibernate 同时工作的正确安全策略值设置

Java 中 RMI 的使用