当客户端和服务器端的编程语言相同时,IDL 在 RPC 中的作用?
Role of IDL in RPC when programming languages the same on client and server side?
即使客户端和服务器端的编程语言相同(即远程调用的函数是用与调用函数的程序相同的编程语言)?
取决于语言,它是否具有任何 built-in 用于通过线路封送参数和方法和对象标识符的工具。 C/C++ 没有这样的支持 built-in,所以我们有,例如,用于定义 COM 接口的 MIDL。编译它会创建用于转换方法调用语义的代理和存根代码 to/from IPC/RPC 消息传递。
编译 higher-level 语言可能会产生足以在运行时生成封送处理的反射元数据,因此编程语言 是 IDL。
即使客户端和服务器端的编程语言相同(即远程调用的函数是用与调用函数的程序相同的编程语言)?
取决于语言,它是否具有任何 built-in 用于通过线路封送参数和方法和对象标识符的工具。 C/C++ 没有这样的支持 built-in,所以我们有,例如,用于定义 COM 接口的 MIDL。编译它会创建用于转换方法调用语义的代理和存根代码 to/from IPC/RPC 消息传递。
编译 higher-level 语言可能会产生足以在运行时生成封送处理的反射元数据,因此编程语言 是 IDL。