两台电脑之间的Java RMI

两台电脑之间的Java RMI,java,rmi,Java,Rmi,我已经在两台不同的物理机器上成功地实现了单服务器客户机示例。我想在两台或更多机器之间尝试此方案: 机器A将要在机器B上执行的操作参数发送给机器B 机器B执行它并将操作状态返回给机器A 我是否继续: 在两台机器上实现我的初始程序的相同副本 机器A如何知道它必须将请求发送到机器B而不是其他机器?B知道A的IP。但我关心的是它如何只向B发送请求 现在,我不关心“客户”返回状态时的任何竞争条件 任何代码/在线教程都会很有帮助 在两台机器上实现我的初始程序的相同副本 不,您需要一个客户端程序和一个服务器程

我已经在两台不同的物理机器上成功地实现了单服务器客户机示例。我想在两台或更多机器之间尝试此方案:

  • 机器A将要在机器B上执行的操作参数发送给机器B
  • 机器B执行它并将操作状态返回给机器A
  • 我是否继续:

  • 在两台机器上实现我的初始程序的相同副本
  • 机器A如何知道它必须将请求发送到机器B而不是其他机器?B知道A的IP。但我关心的是它如何只向B发送请求
  • 现在,我不关心“客户”返回状态时的任何竞争条件
  • 任何代码/在线教程都会很有帮助

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

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

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

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

    B知道A的IP

    B不需要知道A的IP。当一个连接时,它会得到,而不是它需要它:它所需要的只是连接,以写入响应。A需要知道B的IP

    但我关心的是它如何只向B发送请求

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

    现在,我不关心两个国家之间的任何比赛条件 返回状态时的“客户端”


    你真的必须整理一下你的术语。您的“客户机”实际上是服务器,反之亦然。

    您是否被迫使用RMI而不是其他技术?这似乎是为使用Java Socket/ServerSocket(一种更经典的客户机-服务器方法)量身定做的。@Crollster感谢您的回复。我必须使用RMI,因为发送的请求在不同的机器上有不同的实现。此外,我计划执行许多这样的操作。RMI在这种情况下似乎容易得多。为什么这不是客户机/服务器?@michael667-这里的实现是在客户机上的,不会将任何变量返回到服务器。这个例子与我的情况正好相反——实现发生在服务器上,而对我来说,实现发生在客户端。@PRamesh:这个问题有点模糊。当你说没有客户机-服务器这样的东西,然后你提到一个请求从一台机器发送到另一台机器!当两台机器相互通信时,必须有一个客户机-服务器机制。