Java에서 원격 메소드 호출이란 무엇입니까?



Java의 RMI에 대한이 기사는 실제 예제와 함께 클라이언트와 서버에서 원격 메소드 호출 인터페이스를 구현하는 방법을 설명합니다.

원격 메서드 호출 프로그래머가 사용하는 방법입니다. 원격으로 개발 환경. 그 모든 방법에 대한 사물 서로 다른 컴퓨터에서 분산 네트워크에서 상호 작용합니다. Java의 원격 메서드 호출에 대한이 기사에서는 클라이언트와 서버에서 RMI 애플리케이션을 만드는 방법을 설명합니다.

이 기사에서 다루는 주제는 다음과 같습니다.





시작하자!

해커와 윤리적 해커의 주요 차이점은 다음과 같습니다.

Java에서 RMI 란 무엇입니까?

그만큼 RMI (원격 메서드 호출)은 분산 응용 프로그램을 만드는 메커니즘을 제공하는 API입니다. . RMI를 사용하면 객체가 다른 객체에서 실행중인 객체에서 메서드를 호출 할 수 있습니다. . 원격 메서드 호출은 두 개체를 사용하는 응용 프로그램 간의 원격 통신을 제공합니다. 그루터기 해골 .



스텁 및 스켈레톤 이해

클라이언트 컴퓨터의 스텁 개체는 정보 블록을 만들고이 정보를 서버로 보냅니다. 블록은 다음으로 구성됩니다.

  • 사용할 원격 개체의 식별자
  • 호출 될 메소드 이름
  • 원격 JVM에 대한 매개 변수

스텁과 스켈레톤-자바의 RMI-Edureka스켈레톤 오브젝트

스켈레톤 객체는 스텁 객체의 요청을 원격 객체로 전달합니다. 다음 작업을 수행합니다.



  • 서버에있는 실제 개체에서 원하는 메서드를 호출합니다.

  • 스텁 개체에서받은 매개 변수를 메서드로 전달합니다.

이것으로 더 나아가 RMI 응용 프로그램을 만드는 방법을 보겠습니다.

RMI 응용 프로그램을 만드는 단계

아래 단계는 RMI 응용 프로그램을 만드는 데 도움이됩니다.

  1. 리모컨 정의 상호 작용
  2. 원격 인터페이스 구현
  3. 스텁 및 스켈레톤 생성 사물 RMIC (RMI 컴파일러)를 사용하여 구현 클래스에서
  4. RMI 레지스트리 시작
  5. 서버 응용 프로그램 생성 및 실행
  6. 클라이언트 응용 프로그램 생성 및 실행

이제이 단계의 세부 사항을 살펴 보겠습니다.

1 단계 : 원격 인터페이스 정의

가장 먼저해야 할 일은 상호 작용 . 이것은 원격 클라이언트가 호출 할 수있는 메소드에 대한 설명을 제공합니다. 이 인터페이스는 Remote 인터페이스를 확장해야하며 인터페이스 내의 메서드 프로토 타입은 RemoteException을 throw해야합니다.

// 검색 인터페이스 생성 import java.rmi. * public interface Search extends Remote {// 메소드 프로토 타입 선언 public String Query (String search) throws RemoteException}

2 단계 : 원격 인터페이스 구현

다음 단계는 원격 인터페이스를 구현하는 것입니다. 원격 인터페이스를 구현하려면 클래스를 java.rmi 패키지의 UnicastRemoteObject 클래스 . 또한 기본값 건축업자 던지기 위해 만들어야합니다 java.rmi.RemoteException 부모 생성자에서.

// 검색 인터페이스를 구현하는 Java 프로그램 import java.rmi. * import java.rmi.server. * public class SearchQuery extends UnicastRemoteObject implementations Search {// 부모 생성자로부터 RemoteException을 발생시키는 기본 생성자 SearchQuery () throws RemoteException {super ( )} // 쿼리 인터페이스 구현 public String query (String search) throws RemoteException {String result if (search.equals ( 'Reflection in Java')) result = 'true'else result = 'false'return result}}

3 단계 : rmic를 사용하여 구현 클래스에서 Stub 및 Skeleton 객체 생성

RMIC 도구는 Stub 및 Skeleton 객체를 생성하는 RMI 컴파일러를 호출하는 데 사용됩니다. 프로토 타입은 RMIC 클래스 이름입니다.

생성자가 개인 일 수 있습니까?

4 단계 : RMI 레지스트리 시작
명령 프롬프트 start RMIregistry에서 명령을 실행하여 레지스트리 서비스를 시작해야합니다.

5 단계 : 서버 응용 프로그램 생성 및 실행
다음 단계는 서버 응용 프로그램을 만들고 별도의 명령 프롬프트에서 실행하는 것입니다.

  • 서버 프로그램은 createRegistry 인수로 전달 된 포트 번호를 사용하여 서버 JVM 내에서 rmiregistry를 작성하기위한 LocateRegistry 클래스의 메소드.

  • Naming 클래스의 rebind 메서드는 원격 개체를 새 이름에 바인딩하는 데 사용됩니다.

// 서버 애플리케이션 용 프로그램 import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// 인터페이스 구현 클래스의 객체 생성 Search obj = new SearchQuery () // 서버 JVM 내에서 // 포트 번호가 1900 인 rmiregistry LocateRegistry.createRegistry (1900) & ltp style = 'text-align : justify'& gt // 이름으로 원격 객체를 바인딩합니다. // edureka Naming.rebind ( 'rmi : // localhost : 1900'+ '/ edureka', obj)} catch (예외 ae) {System.out.println (ae)}}}

6 단계 : 클라이언트 응용 프로그램 생성 및 실행
마지막 단계는 클라이언트 응용 프로그램을 만들고 별도의 명령 프롬프트에서 실행하는 것입니다. Naming 클래스의 조회 메소드는 Stub 객체의 참조를 가져 오는 데 사용됩니다.

위의 클라이언트 및 서버 프로그램은 동일한 컴퓨터에서 실행되므로 localhost가 사용됩니다. 다른 시스템에서 원격 개체에 액세스하려면 localhost를 원격 개체가있는 IP 주소로 대체해야합니다.

그래서 이것은 우리를 RMI의 끝으로 가져옵니다. 조. 유익한 정보를 얻고 기초를 이해하는 데 도움이 되었기를 바랍니다.

확인 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. 우리는 당신의 여정의 모든 단계에서 당신을 돕기 위해 여기에 있습니다.이 자바 인터뷰 질문 외에도 우리는 학생과 전문가가되기를 원하는 전문가를 위해 설계된 커리큘럼을 제안합니다. 자바 개발자. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

C ++ 가상 함수 = 0

질문이 있으십니까? 이 'Java의 RMI'기사의 주석 섹션에 언급하십시오. 가능한 한 빨리 연락 드리겠습니다.