简单的线协议,什么人做?

bro*_*s94 7 c linux ipc zeromq

我有一个用C编写的简单服务器.它的主要目的是通过专有协议与一些业务合作伙伴进行通信.出于这个原因和其他一些原因,它必须用C语言编写.我有许多其他的过程,但是,用其他语言(例如Python)编写,必须与服务器通信(本地,在同一个Linux服务器上).

在这种情况下,跨语言IPC的最佳选择是什么?具体来说,我认为我掌握了传输技术:Unix域套接字,命名管道,共享内存,ZeroMQ(Crossroads).我对实现协议的最佳方式更感兴趣,以保持C代码的小型和可维护性,同时仍然允许来自其他语言的通信.

编辑:似乎有些混乱.我对讨论域套接字,共享内存等的优缺点感兴趣.人.我感兴趣的msgpack(感谢开卷),以及其他技术实现有线协议/办法.

unw*_*ind 4

当需求未知时,很难优化(=选择“最佳”)。您确实声明您的目标是保持 C 代码“小且可维护”,这似乎意味着您应该寻找一个库。也许msgpack通过本地套接字?

另外,您的基本前提是服务器必须用 C 编写,因为您有专有协议,这似乎……至少很奇怪。