Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Unix域套接字上的RPCGEN_Linux_Sunrpc - Fatal编程技术网

Linux Unix域套接字上的RPCGEN

Linux Unix域套接字上的RPCGEN,linux,sunrpc,Linux,Sunrpc,我的要求是在不同进程之间进行RPC调用。本质上,这些呼叫是1-1;意思是一个发送者一个接收者。我在体系结构上仅限于为此目的使用unix域套接字 为此,我想使用“rpcgen”。但问题是rpcgen作为传输机制在TCP/UDP上工作。我想要的是通过域套接字运行它们。考虑到他们不支持域套接字;我想在生成之后用我自己的代码来存根传输例程,以完成我所需要的。但这看起来一点也不容易 我探索了一个选项,其中生成的XDR流可以写入本地缓冲区,然后可以按照我想要的方式传输;即,通过域套接字。也许我可以在远端把它

我的要求是在不同进程之间进行RPC调用。本质上,这些呼叫是1-1;意思是一个发送者一个接收者。我在体系结构上仅限于为此目的使用unix域套接字

为此,我想使用“rpcgen”。但问题是rpcgen作为传输机制在TCP/UDP上工作。我想要的是通过域套接字运行它们。考虑到他们不支持域套接字;我想在生成之后用我自己的代码来存根传输例程,以完成我所需要的。但这看起来一点也不容易

我探索了一个选项,其中生成的XDR流可以写入本地缓冲区,然后可以按照我想要的方式传输;即,通过域套接字。也许我可以在远端把它取回来让它工作。这可能涉及数据的另一个副本,但此时性能不是我关心的问题

这类问题有现成的解决方案吗?我在这里的最佳选择是什么

谢谢
Sudarshan

在unix域套接字上使用rpc是绝对有效的。尝试使用带有选项'-n local'的rpcgen来生成相应的存根。您好,我检查过这需要TI-RPC。标准的rpcgen工具似乎不支持这一点。为了能够使用TI-RPC,我需要libtirpc。由于需要在多个平台上支持这一点,这对我来说不是一个简单的选择。有没有办法使用标准的RPCGEN工具(也称为TS-RPC)来实现这一目标?好的,经典的RPC是基于TCP和UDP的。TI-RPC代表独立于传输的RPC。如果要使用unix域套接字,则应使用ti rpc。TI-RPC适用于linux、solaris、windows,也可能适用于osx。感谢您的回复。但与标准rpcgen不同,TI-RPC不是libc的一部分。因为我需要在多个平台上运行这个工具,所以我需要为不同的平台交叉编译这个工具的源代码,然后才能使用它。我去看看。包中有许多源文件。由于这是一个嵌入式平台,代码大小也是一个因素。看来我需要在使用之前评估一下这个工具!