2011-09-28 4 views
0

두 대의 서로 다른 실제 컴퓨터에서 단일 서버 - 클라이언트 예제 here을 성공적으로 구현했습니다. 나는 2 대 이상의 컴퓨터 사이에이 시나리오를 시도하고 싶습니다 :두 PC 사이의 Java RMI

  1. 기계 A는 작업의 매개 변수가 기계 B에 시스템 B에서 수행 될 전송 기계 B가 그것을 실행하고 컴퓨터에 작동 상태를 반환
    1. 모두 컴퓨터에 내 초기 프로그램의 동일한 복사본을 구현 :

    A.

  2. 에 의해 내가 진행합니까?
  3. 컴퓨터 A는 컴퓨터 B가 아닌 다른 컴퓨터로 요청을 보내야한다는 것을 어떻게 알 수 있습니까? B는 A의 IP를 알고 있습니다. 그러나 나는 그것이 B에게만 요청을 보내는 방법에 대해 우려하고있다.
  4. 지금은 상태를 반환하는 동안 '고객'간의 경쟁 조건에 대해 걱정하지 않습니다.

모든 코드/온라인 자습서는 큰 도움이 될 것입니다.

+0

다른 기술보다는 RMI를 사용하도록 제한됩니까? 이것은 Java Socket/ServerSocket (보다 고전적인 클라이언트 - 서버 접근 방식)을 사용하여 만든 것처럼 보입니다. – Crollster

+0

@ Crollster- 답장을 보내 주셔서 감사합니다. 전송 된 요청이 다른 시스템에서 다른 구현을 가지므로 RMI를 사용해야합니다. 또한 많은 작업을 수행 할 계획입니다.RMI는이 시나리오에서 훨씬 쉬워 보였습니다. –

+0

이것이 클라이언트/서버가 아닌 이유는 무엇입니까? – michael667

답변

2

두 컴퓨터 모두에서 초기 프로그램의 동일한 복사본을 구현합니까?

아니요, 클라이언트 프로그램과 서버 프로그램이 필요합니다.

기계 A는 기계 B가 아닌 다른 기계로 요청을 보내야한다는 것을 어떻게 알 수 있습니까?

당신이 말했기 때문에. 서버 B가있는 클라이언트 (A)에게 알려야합니다.

B는 A의 IP를 알고 있습니다.

B는 A의 IP를 알아야 할 필요가 없습니다. 그것은 A가 연결될 때 그것을 얻을 것이고, 필요로하는 것이 아니라 필요한 모든 것은 연결을 작성하고 응답을 작성하는 것입니다. B의 IP를 알아야하는 것은 A입니다.

하지만 B에게 요청을 보내는 방법에 대해 우려하고 있습니다.

그런 식으로 프로그래밍하십시오. 나는 당신의 걱정을 이해하지 못합니다.

지금은 상태를 반환하는 동안 '클라이언트'사이의 경쟁 조건에 대해 걱정하지 않습니다.

정말 용어를 정리해야합니다. '고객'은 실제로 서버이고 그 반대도 마찬가지입니다.