在客户端和服务器端编程语言相同时,IDL 在 RPC 中的作用?

Posted

技术标签:

【中文标题】在客户端和服务器端编程语言相同时,IDL 在 RPC 中的作用?【英文标题】:Role of IDL in RPC when programming languages the same on client and server side? 【发布时间】:2017-01-19 23:48:14 【问题描述】:

在 RPC(远程过程调用)中是否需要 IDL(接口定义语言),即使客户端和服务器端的编程语言相同(即远程调用的函数是用相同的程序编写的)语言作为调用函数的程序)?

【问题讨论】:

【参考方案1】:

取决于语言,它是否有任何内置的设施来通过线路编组参数和方法和对象标识符。 C/C++ 没有内置这样的支持,所以我们有,例如,用于定义 COM 接口的 MIDL。编译它会创建代理和存根代码,用于将方法调用语义转换为 IPC/RPC 消息传递。

编译高级语言可能会产生足以在运行时生成编组的反射元数据,因此编程语言 IDL。

【讨论】:

以上是关于在客户端和服务器端编程语言相同时,IDL 在 RPC 中的作用?的主要内容,如果未能解决你的问题,请参考以下文章

客户端使用java,服务端使用c++的corba编程环境搭建

Thrift RPC实战.初次体验Thrift

我如何在cpp-winrt idl文件和普通/标准cpp类中使用相同的名称空间名称?

HarmonyOS之IDL接口使用规范

Flume简介与使用——Thrift Source采集数据

grpc学习-简介和核心概念