我有一个用 C 编写的简单服务器。它的主要目的是通过专有协议(protocol)与一些业务伙伴进行通信。出于这个原因和其他一些原因,它必须用 C 编写。但是,我还有许多其他进程,它们是用其他语言(例如 Python)编写的,它们必须与服务器(本地,在同一 Linux 服务器上)进行通信。
在这种情况下,跨语言 IPC 的最佳选择是什么?具体来说,我认为我掌握了传输技术:Unix 域套接字、命名管道、共享内存、ZeroMQ(Crossroads)。我对实现协议(protocol)的最佳方式更感兴趣,以保持 C 代码的小型和可维护性,同时仍允许与其他语言进行通信。
编辑:似乎有些困惑。我不对讨论域套接字、共享内存等的优缺点感兴趣。人。我我对 msgpack(感谢 unwind)以及用于实现有线协议(protocol)的其他技术/方法感兴趣。
最佳答案
当需求未知时,很难优化(=选择“最佳”)。您确实声明您的目标是保持 C 代码“小巧且可维护”,这似乎意味着您应该寻找一个库。也许 msgpack通过本地套接字?
此外,您的基本前提是服务器必须用 C 编写,因为您有一个专有协议(protocol),这似乎......至少很奇怪。
关于c - 简单的有线协议(protocol),一个人要做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585987/