자바 rmi 예제

그러나 Java 형식이 java.io.Serializable을 구현하는 한 RMI는 메서드 시그니처에 대한 전체 Java 사양을 지원합니다. 이 예제에서는 rmi 응용 프로그램을 만들고 실행하기 위한 6단계를 모두 수행했습니다. 클라이언트 응용 프로그램에는 원격 인터페이스와 클라이언트 응용 프로그램인 두 개의 파일만 필요합니다. rmi 응용 프로그램에서 클라이언트와 서버는 모두 원격 인터페이스와 상호 작용합니다. 클라이언트 응용 프로그램은 프록시 개체에서 메서드를 호출하고 RMI는 원격 JVM에 요청을 보냅니다. 반환 값은 프록시 개체로 다시 전송된 다음 클라이언트 응용 프로그램으로 전송됩니다. 이 자습서에서는 Java RMI에 대한 간략한 소개와 이것이 클라이언트-서버 응용 프로그램의 토대가 될 수 있는 방법에 대해 설명했습니다. RMI의 독특한 기능 중 일부에 대한 추가 게시물에 대한 계속 지켜봐 주시기 바랍니다! 아래 코드는 서버-클라이언트 통신 모델의 매우 간단한 예제와 함께 Java RMI에 대한 기초를 제공합니다. 이 예제에서는 서버의 주요 메서드는 원격 인터페이스 Hello를 구현하는 클래스 서버에서 정의됩니다.

서버의 주요 방법은 다음과 같은 작업을 수행합니다: 분산 Hello World 예제에서는 간단한 클라이언트를 사용하여 원격 호스트에서 실행 중인 서버에 원격 메서드 호출을 수행합니다. 클라이언트는 서버에서 “안녕하세요, 세상!” 메시지를 받습니다. 이 자습서에서는 Java™ 원격 메서드 호출(Java RMI)을 사용하여 클래식 Hello World 프로그램의 분산 버전을 만드는 단계를 보여 주었습니다. 이 예제를 통해 작업하는 동안 관련 질문이 많이 나올 수 있습니다. Java RMI FAQ 및 강 프로젝트 외부의 메일 목록 및 문서 보존에서 답변을 찾는 것이 좋습니다. 클라이언트에서 명명 클래스의 lookup() 메서드를 사용하여 스텁 개체를 얻고 이 개체에서 메서드를 호출합니다. 이 예제에서는 동일한 컴퓨터에서 서버 및 클라이언트 응용 프로그램을 실행하므로 localhost를 사용하고 있습니다. 다른 컴퓨터에서 원격 개체에 액세스하려면 로컬 호스트를 원격 개체가 있는 호스트 이름(또는 IP 주소)으로 변경합니다.

Java RMI 레지스트리는 클라이언트가 원격 개체에 대한 참조(스텁)를 얻을 수 있는 단순화된 이름 서비스입니다. 일반적으로 레지스트리는 클라이언트가 사용해야 하는 첫 번째 원격 개체를 찾기 위해서만 사용됩니다(전혀). 그런 다음 일반적으로 첫 번째 개체는 다른 개체를 찾기 위한 응용 프로그램별 지원을 제공합니다. 예를 들어, 참조는 다른 원격 메서드 호출로부터의 매개 변수 또는 반환 값으로 얻을 수 있다. 이 작동 방식에 대한 설명은 Java RMI에 팩터리 패턴 적용을 참조하십시오. 이 예제에서는 sonoo라는 이름으로 원격 개체를 바인딩합니다. 두 개의 JVM이 통신해야 하는 경우 Java RMI는 이를 실현하기 위한 하나의 옵션입니다. 이 문서에서는 Java RMI 기술을 보여주는 간단한 예제를 부트스트랩합니다. 기본적으로 레지스트리는 TCP 포트 1099에서 실행됩니다. 다른 포트에서 레지스트리를 시작하려면 명령줄에서 포트 번호를 지정합니다.

예를 들어 Windows 플랫폼에서 포트 2001에서 레지스트리를 시작하려면: 레지스트리가 1099이외의 포트에서 실행되는 경우 서버 및 클라이언트 클래스의 LocateRegistry.getRegistry 호출에서 포트 번호를 지정해야 합니다. 예를 들어 이 예제에서 레지스트리가 포트 2001에서 실행되는 경우 서버에서 getRegistry에 대한 호출은 다음과 같은 것입니다. 포트 번호를 지정하지 않으면 기본 포트 번호를 사용합니다. 이 예제에서는 포트 번호 5000을 사용 합니다. 이 예제를 실행하려면 다음을 수행해야 합니다: RMI Java 응용 프로그램을 작성하려면 아래 단계를 따라야 합니다 – 호출자(클라이언트, 피어 또는 애플릿)의 경우 원격 개체에서 메서드를 호출할 수 있으려면 호출자가 먼저 re에 대한 스텁을 가져와야 합니다. 모트 오브젝트.

This entry was posted in Uncategorized. Bookmark the permalink.