【发布时间】:2010-04-12 19:23:11
【问题描述】:
我编写了一个服务器-客户端 rmi 应用程序,我正在使用 MacOsX 和 Ubuntu 笔记本电脑对其进行测试。
当我在 MacOsX 上启动 rmiregistry 和服务器时,我可以在 netstat 中看到端口 1099 已打开和使用的详细信息。 然后,如果我尝试使用 RMI,使用 Ubuntu 笔记本电脑上的客户端 - 它工作正常。
但是,当我反过来尝试时: 在 Ubuntu 上启动 rmiregistry 和服务器,我在 netstat 中看不到任何关于 1099 端口的详细信息。 而且,在使用 Macos 客户端时,我无法连接到它,并收到以下异常:
Received Exception:
java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Operation timed out
这发生在 Naming.lookup 发生之后(因此查找正常,但 RMI 本身没有)。
似乎 Ubuntu 上的 rmiregistry 正在将我的客户端重定向到连接 127.0.1.1,而不是他拒绝的服务器的外部 IP。
这可能是什么原因?
【问题讨论】: