linux - Linux 下的 rpcgen

标签 linux rpc

我们使用rpcgen在Linux机器上创建了一个rpc服务器(c语言)。 当我们的程序有很多调用时,它仍然会产生一个 线程请求。 我发现这是 2004 年的常见问题,有一个新的 rpcgen (或其他生成器)解决了这个问题吗?

谢谢, 科比

最佳答案

rpcgen将简单地生成 serialization例程。您的服务器可能被编码为具有多个线程。了解更多 pthreads .

您可能不应该有太多线程(例如最多十几个,而不是数千个)。您可以设计您的程序以使用一些 thread pool ,或者只是拥有一组固定的工作线程来连续处理 RPC 请求(主线程只负责接受连接等)。

阅读rpc(3) 。您可能会考虑不在服务器中使用svc_run,而是以您自己的方式使用线程进行操作。请注意,如果您使用线程,则需要同步,也许使用 mutex

您也可以考虑JSONRPC ,或者也许让您的 C 程序成为一些专门的 HTTP 服务器(例如使用 libonion )并让您的客户端执行 HTTP 。请求(可能使用 libcurl )。另请参阅this 。您可能会考虑 message passing建筑,也许有 Open-MPI .

关于linux - Linux 下的 rpcgen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26504161/

相关文章:

Java 单线程 RMI 或替代方案

java - 如何处理 XML-RPC 中的错误响应?

java - 在 Java 中将 URL 映射到请求处理程序的最简单方法

json - JSON REST/RPC 接口(interface)的 IDL

linux - Until 循环不终止或保持增量变量的值

linux - bash 中的后缀别名

c - 程序输出重定向的问题

php - 我无法在 Ubuntu 的 php 脚本中终止进程

ruby - 如何阻止 Guard 创建占用大量空间的日志文件

authentication - RPC验证错误