2010-01-03 6 views
4

RMI가 작동하는 방식에 대한 이해를 얻으려고합니다. (RMI를 사용하고 잘 작동하는 간단한 응용 프로그램이 있습니다.)Java RMI - 서버 간 클라이언트 호출

내 질문은 : rmi 호출이 이루어질 때 어떤 일이 발생합니까? rmi 클라이언트에서 rmi 서버로가는 도중에 어떤 일이 발생합니까?

+2

http://www.youtube.com/watch?v=ILeAeFZOkMI – whunmr

답변

3

위에서 설명한 조회 후 rmi 호출에서 매개 변수로 사용되는 개체는 비 일시적인 개체의 바이트 단위 표현이 네트워크 연결을 통해 보내지는 것을 의미하는 직렬화 (Marshalling)됩니다. 서버 측에서는 직렬화 된 데이터가 비 정렬 화되고 객체가 인스턴스화됩니다. 그런 다음 서버 측 메소드가 호출되면 이전에 매개 변수가 전송 된 것과 비슷한 방식으로 리턴 값이 리턴됩니다. 객체를 파일에 쓰는 것과 비슷합니다.

http://java.sun.com/j2se/1.4.2/docs/guide/rmi/faq.html

2

RMI는 RPC를위한 객체 지향 접근 방식입니다.

스터브은 클라이언트 측에 스켈레톤은 서버 측에 있습니다. 클라이언트와 서버는 직접 통신하지 않지만 스텁과 스켈레톤을 통해 자동으로 생성됩니다.

서버와 클라이언트 모두 사용해야하는 개체가 있어야합니다. 이러한 개체는 서버 쪽에서 정의되고 RMI 레지스트리에 있습니다. 서버와 클라이언트 모두 RMI 레지스트리를 호출 할 수 있으며 메모리로 작동합니다 (이는 메모리가 아닙니다. 서버는 객체를 레지스트리에 바인딩하고 클라이언트는 메소드를 호출합니다.