与select驱动守护进程一起使用的rpc机制

时间:2012-07-28 11:46:46

标签: select asynchronous daemon rpc

我想在我的unix守护程序中添加一个RPC服务。守护进程用C语言编写,并使用select()实现事件驱动循环。我已经查看了许多RPC实现,但它们似乎都涉及调用库例程或自动生成的代码,这些代码无限期地阻塞。

是否存在任何RPC框架,其中库代码/自动生成的代码不会阻塞或启动线程。理想情况下,我想自己创建输入/输出套接字并将它们传递到我的选择循环中。

此致

亚历克斯 - 第一次海报! : - )

1 个答案:

答案 0 :(得分:1)

我假设您可以使用C ++ Apache Thrift很好 - FAST RPC也很有用。

我在2012年初对几个图书馆进行了评估,并最终以ZeroMQ结束,因为它更具适应性,而且(我发现它)更容易,也更灵活。我确实考虑过使用Google protobuf实现,但最终使用了更简单的结构化命令文本方法。

我可能不会考虑在C中这样做,除非我不得不这样做,在这种情况下我可能会从标准的rpc(3)开始,为了一个很好的概述,请参阅overview of Remote Procedure Calls (RPC)