【发布时间】:2011-09-25 05:43:33
【问题描述】:
只要我在本地主机上运行多个客户端,一切正常。当我在不同的主机上启动客户端时会出现问题。
例如,在执行过程中的某个时间点,服务器上的方法以 localhost 作为目标调用,这意味着服务器突然忘记了远程客户端的 IP 地址。这怎么可能?
此外,服务器执行的远程查找需要很长时间才能完成。难道是我的路由器拒绝访问它?还是服务器拼命尝试使用不同的路径到达远程主机?
【问题讨论】:
-
服务器忘记客户端IP是什么意思?让客户端开始与服务器通信,服务器应该创建一个列表或将这些 IP 数据保存在某个地方并使用它进行进一步的通信。
-
如何从客户端进行查找?你如何在服务器端创建注册表?从您的应用程序还是您之前启动它?以及如何在注册表中绑定对象?一些代码或堆栈跟踪会很棒。就查找时间而言,afaik 在 windows 和 unix 操作系统上是不同的。在 unix 上需要更长的时间。您可以通过扩展 RMISocketFactory 类来更改该值。有一些教程如何做到这一点