- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们使用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/
我正在尝试使用 rpcgen 包将字符串作为结构的一部分通过网络传递。这是我的 IDL 代码: struct param { char* name; int voterid; };
我正在阅读 Oracle 网站上的 RPCgen 教程 http://docs.oracle.com/cd/E19683-01/816-1435/6m7rrfn7f/index.html , 但不理解
我正在尝试将字符指针从 rpc 客户端发送到 rpcgen 中的服务器,下面是服务器和客户端程序 RPC gen 的 RPC 程序 struct clientinput { char * op
我们使用rpcgen在Linux机器上创建了一个rpc服务器(c语言)。当我们的程序有很多调用时,它仍然会产生一个线程请求。我发现这是 2004 年的常见问题,有一个新的 rpcgen (或其他生成器
我是 C 语言编程的新手。我尝试创建一个小而简单的程序来将文件 calculs.x 中的两个整数相加 这里是calculs.x文件的内容 /* calculs.x*/ struct data_in {
我是这样理解的: .x 文件定义了服务器和客户端共享的接口(interface)和参数。当您使用 rpcgen 编译它时,它会生成 .h、_xdr.c、_clnt.c 和 _svc.c。 _clnt.
我正在尝试使用 RPCGen 来了解 RPC 的基础知识。我按照基本教程编写了以下 myrpc.x 文件 program MESSAGEPROG { version EVALMESSAGEVE
我正在使用 rpcgen 库创建一个应用程序,我必须在服务器端使用 HashMap 。将 STL 库(或任何 C++ 代码)与 rpcgen 一起使用是否可取?我试过用 g++ 编译文件并且它有效。或
使用 rpcgen 创建一个简单的server-client 程序。 我正在编写这个 .x 文件: program REMOTE_PROG { version MSG_RCV {
我创建了一个像这样的IDL: struct intpair { int a; int b; }; program ADD_PROG { version ADD_VERS {
我正在做一项作业,我们必须使用 RPCgen 生成的服务器和客户端 .c 文件来交换有关共享绘图板的信息。绘图板是使用 QtCreator 和 QtPainter 实现的。 我遇到的问题是,在编译时,
我正在尝试在我的 debian - lenny 上编译 VXI11 源代码,但出现此错误: make rpcgen -M vxi11.x make: rpcgen: command not found
我有一个文件 reken.x、client.c 和 server.c 来创建一个分布式系统。客户端将两个质数(因此是一个数)的乘积发送到服务器上的“ontbind”函数,该函数将数字分解回两个质数。当
我是一名优秀的程序员,十分优秀!