什么是协议编译器?为什么 rpcgen 被称为协议编译器?
Posted
技术标签:
【中文标题】什么是协议编译器?为什么 rpcgen 被称为协议编译器?【英文标题】:what is a protocol compiler ? why is rpcgen known as a protocol compiler? 【发布时间】:2014-04-05 17:28:07 【问题描述】:为什么 rpcgen 被称为协议编译器?我知道远程过程调用的基础知识,但不知道协议编译器这个术语,并且无法在任何地方找到解决方案。
【问题讨论】:
【参考方案1】:rpcgen 将带有协议描述的 dot-x 文件作为输入,并生成实现客户端和服务所定义协议所需的文件。例如,假设您要创建一个服务来计算字符串长度。您必须在协议中提供 dot-x:
/* strlen.x */
program STRLEN
version STRLENVERS
int strlen(string) = 1;
= 1;
= 117
这是您的协议。通常,我们使用 rpcgen 在 C 中生成带有存根的文件,但也有其他“编译”,它们将生成 python 或 java 代码。
xdr语言语法查看官方文档:http://docs.oracle.com/cd/E19683-01/816-1435/xdrproto-ex-70/index.html
【讨论】:
【参考方案2】:在 rpcgen 的情况下,它被用作额外的编译器 - 它基于协议文件“.x”编译新文件 - 在协议文件中,您可以指定 rpcgen 应该为您编译的内容。
rpcgen 对其 .x 文件使用特定协议 - XDR 语言规范
【讨论】:
以上是关于什么是协议编译器?为什么 rpcgen 被称为协议编译器?的主要内容,如果未能解决你的问题,请参考以下文章