2011-02-01 2 views
0

원격 객체가 호스트되는 시스템의 IP를 결정하는 방법이 있습니까? rmi 레지스트리에서이 정보를 얻을 수있는 방법이 있습니까?rmi 레지스트리를 사용하여 java rmi 원격 객체 호스트 컴퓨터의 ip 확인

+0

호출 중 수행 할 수있는 작업은 다음과 같습니다. RemoteServer.getClientHost() – bestsss

+0

@bestsss : * 서버 *에게 * 클라이언트의 IP 주소를 부여합니다. – EJP

+0

@EJP, 사실입니다. 나는 당신의 대답에 대답했지만이 코멘트에 대해 잊어 버렸습니다. – bestsss

답변

1

rmiregistry는 해당 IP가있는 위치에서만 액세스 할 수 있습니다. 그리고 Remote 인터페이스로 등록 된 메소드 만 호출 할 수 있습니다. 그래서 IP를 리턴하기 위해 인터페이스에 함수를 작성하는 것은 쓸모가 없다고 생각합니다.

+0

안녕하세요, 좋은 생각입니다! 나에게 도움이됩니다! 레지스트리 ip를 알고 원격 객체를 관리하는 컴퓨터의 ip가 필요합니다! 고맙습니다! 아마 모든 객체에 대해 다른 레지스트리를 사용한다고 생각했을 것입니다. 레지스트리가 하나만 있으면이 기능이 작동합니다. – Range

0

정보를 유용하게 사용할 수 없으므로 API를 통해 제공되지 않습니다. 스텁을 사용하면 원격 메소드를 호출하기 만하면됩니다.

+0

호출이 실패 (예를 들어 입출력 오류)하지만 클러스터에 잠재적으로 요청을 전달할 수있는 여분의 시스템 (형제)이 있다고 가정합니다. 다른 하나는 피사체가 제공되지 않도록 피하십시오. 실제로 LiveRef 부분에서 IP를 얻을 수는 있지만 너무 많은 구현 세부 사항입니다. – bestsss

+0

@bestsss : 그러나 스텁의 IP 주소를 사용하는 것은 * 사용할 수 없으므로 어디서나 얻을 수 없습니다. 이 경우에 필요한 것은 형제에게 다른 스텁, 즉로드 밸런싱 레지스트리의 일종입니다. 이 시점에서 IIOP 및 적합한 벤더를 통해 CORBA를 조사 할 것입니다. – EJP

+0

나는 같은 것을 사용할 수 있다는 것을 의미하지 않았고, 다른 하나 (클러스터 집합에서)를 고를 수 있음을 의미하지 않았다. 다른 하나는 방금 실패한 동일한 IP로 제공되지 않았다. – bestsss