【问题标题】:remote lookup on a remote client in Java RMIJava RMI 中远程客户端的远程查找
【发布时间】:2011-09-25 05:43:33
【问题描述】:

只要我在本地主机上运行多个客户端,一切正常。当我在不同的主机上启动客户端时会出现问题。

例如,在执行过程中的某个时间点,服务器上的方法以 localhost 作为目标调用,这意味着服务器突然忘记了远程客户端的 IP 地址。这怎么可能?

此外,服务器执行的远程查找需要很长时间才能完成。难道是我的路由器拒绝访问它?还是服务器拼命尝试使用不同的路径到达远程主机?

【问题讨论】:

  • 服务器忘记客户端IP是什么意思?让客户端开始与服务器通信,服务器应该创建一个列表或将这些 IP 数据保存在某个地方并使用它进行进一步的通信。
  • 如何从客户端进行查找?你如何在服务器端创建注册表?从您的应用程序还是您之前启动它?以及如何在注册表中绑定对象?一些代码或堆栈跟踪会很棒。就查找时间而言,afaik 在 windows 和 unix 操作系统上是不同的。在 unix 上需要更长的时间。您可以通过扩展 RMISocketFactory 类来更改该值。有一些教程如何做到这一点

标签: java localhost rmi


【解决方案1】:

服务器不需要执行远程查找。客户会这样做。

如果您的客户端抛出 ConnectExceptions 表明他们不应该尝试连接到“本地主机”,请参阅 RMI FAQ 的 A.1 项。

【讨论】:

    猜你喜欢
    • 2010-10-10
    • 1970-01-01
    • 2020-07-04
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多