gpt4 book ai didi

c++ - 来自 {Python | 的远程过程调用 ruby | ...} 到 C++

转载 作者:可可西里 更新时间:2023-11-01 16:42:41 25 4
gpt4 key购买 nike

TL;DR:是否存在用于从用 X 语言编写的客户端进程调用用 C++ 编写的服务器进程的框架?我不介意使用 TCP/IP 或 UDP 或 HTTP 在进程之间进行通信。

详细信息:

我编写了一个用 C++ 编写的实时声音合成器。现在我想将它重写为一个服务器,它从一个单独的客户端进程中获取高级指令(“播放音符”、“停止音符”等)。理想情况下,客户端进程可以用任何语言编写,但我倾向于使用 Python 或 Ruby。

我已经草拟了一种处理客户端和服务器之间通信的方法:客户端可以通过管道或套接字发出 JSON,以供声音服务器接收。然后将 JSON 映射到服务器上的方法调用。简单。

这开始看起来很像 RPC(远程过程调用),但正如我所研究的那样,我只能找到“intra-language”RPC 的库(即 C++ 客户端到C++ 服务器)。 inter 语言 RPC 的唯一引用是 Inter-Language Unification Xerox PARC 的项目,但最后一次明显的事件是在 2000 年。

另一种选择是使用 RESTful HTTP(或 WebSockets)与声音服务器通信。有没有我可以用来创建它的轻量级 C++ 框架之类的东西?

注意:跨多台机器工作的系统的额外信用,而不仅仅是本地主机。

最佳答案

(如果 SO 给出了回答自己问题的徽章,我现在已经收集了一堆......)

一位我认为是“编程界的绿色贝雷帽”的程序员 friend 推荐了 Thrift 并广泛使用它:

https://thrift.apache.org/

来自网页:

The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.

它继续显示单个 Thrift 定义文件的示例,该文件指定 Java 服务器和 Python 客户端之间的 RPC。正是我要找的那种东西! (而且我仍然不知道为什么我的 Google 搜索失败了...)

关于c++ - 来自 {Python | 的远程过程调用 ruby | ...} 到 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26477829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com