클라이언트 측과 서버 측의 프로그래밍 언어가 같더라도 RPC (원격 프로 시저 호출)에 IDL (Interface Definition Language)이 필요합니까? (즉, 원격으로 호출되는 함수는 동일한 프로그래밍 언어로 작성됩니다 함수를 호출하는 프로그램처럼)?클라이언트와 서버 측에서 프로그래밍 언어를 동일하게 할 때 RPC에서 IDL의 역할은 무엇입니까?
0
A
답변
0
언어에 따라 인수를 마샬링하기위한 기본 제공 기능이 있는지 여부와 코드 번호 & 개체 식별자가 있는지 여부에 따라 다릅니다. C/C++에는 이러한 지원이 내장되어 있지 않으므로 예를 들어 COM 인터페이스를 정의하기위한 MIDL이 있습니다. 이것을 컴파일하면 IPC/RPC 메시징으로 /으로부터 메소드 호출 시맨틱을 변환하기위한 프록시 및 스텁 코드가 작성됩니다.
상위 수준 언어를 컴파일하면 런타임에 마샬링을 생성하기에 충분한 리플렉션 메타 데이터가 생성 될 수 있으므로 프로그래밍 언어 은 IDL 인입니다.