2011-09-28 71 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的。

因爲你這樣編程。我不明白你的關心。

現在,我不關心 「客戶」在返回狀態時的任何競爭狀態。

你真的必須理清你的術語。你的'客戶'真的是服務器,反之亦然。