2011-09-28 72 views
0

我已经在两台不同的物理机上成功实现了单服务器 - 客户端示例here。我想尝试2个或多台计算机之间这样的情景:对机器B到机器B.要执行的操作的参数2台PC之间的Java RMI

  1. 机A发送
  2. 机器B执行,并返回操作的状态,以机答:

我是否继续由:

  1. 在两台机器上实现我的初步方案完全相同的副本?
  2. 机器A如何知道它必须将请求发送到机器B而不是其他机器? B知道A的IP。但我很关心它是如何将请求发送给B的。
  3. 现在,我不关心'客户'返回状态时的任何竞争状态。

任何代码/在线教程将有很大的帮助。

+0

您是否被限制使用RMI而不是其他技术?这似乎是为使用Java Socket/ServerSocket(一种更传统的客户端 - 服务器方法)量身定做的。 – Crollster

+0

@ Crollster-感谢您的回复。我必须使用RMI,因为发送的请求在不同的机器上有不同的实现。另外,我打算执行许多此类操作。对于这种情况,RMI似乎更容易。 –

+0

这是不是客户端/服务器? – michael667

回答

2

在两台机器上实现我的初始程序的相同副本?

不,您需要客户端程序和服务器程序。

机器A如何知道它必须发送请求到机器 B而不是其他机器?

因为你告诉它。您必须告诉客户端(A)服务器B在哪里。

B知道A的IP。

B不需要知道A的IP。当A连接时,它会得到它,而不是完全需要它:它需要的只是连接,将响应写入。 A需要知道B的IP。

但我很关心它是如何将请求发送给B的。

因为你这样编程。我不明白你的关心。

现在,我不关心 “客户”在返回状态时的任何竞争状态。

你真的必须理清你的术语。你的'客户'真的是服务器,反之亦然。