【发布时间】:2021-06-18 17:26:24
【问题描述】:
我正在尝试让客户端与多个服务器进程进行通信,但到目前为止,我找不到任何关于客户端如何发现和区分多个服务器进程的信息。任何有关其工作原理以及我可以去哪里了解更多信息的高级解释都将不胜感激。
目前我的做法是找一个单独的服务器并与之交互如下:
ServerInterface server;
try {
Server = (ServerInterface) Naming.lookup(String.format("//%s:%d/Server", hostName, serverPort));
}
catch (Exception e) {
System.out.println("Unable to lookup server");
return;
}
server.operation();
我不清楚如何使用它来查找多台服务器并选择其中一台执行操作。
【问题讨论】:
-
呃,
Registry?不清楚你在问什么。 -
您能否向我解释一下注册表如何使客户端能够发现服务器以外的内容并选择其中一个进行交互?一个例子会很有用。
-
Registry将名称映射到远程对象。您可以拥有任意数量的名称和任意数量的远程对象,仅受系统限制。 -
客户端在不知道服务器名称的情况下有没有办法连接到服务器?这样,可以部署非预定义数量的服务器,并且客户端可以选择其中一个来使用。抱歉,这似乎不知情,因为我最近才开始使用 Java RMI
标签: java distributed-computing rmi