我有一个用C编写的程序,想要在其中包含gRPC。但是,用于gRPC的API是用C ++编写的。
我已经看过这里,并使foo_client和foo_server工作。
但是,C客户端与我的gRPC C ++服务器不兼容。他们不会互相交谈。我相信这是因为我正在使用使用protocbuf版本3.2.0的最新gRPC。瞻博网络的grpc-c使用的是使用protocbuf版本3.0.0的gRPC的旧版本。
因此,C语言中的Juniper版本似乎不适用于新的gRPC。我知道gRPC低级C API应该在这里:https://github.com/Juniper/grpc-c/tree/master/examples 但是我很难实现它。有人可以帮我弄清楚吗?
我有一段时间没用C编程了,所以有点生疏了。
答案 0 :(得分:1)
如果直接使用gRPC核心库,则需要执行自己的序列化,并处理https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/grpc_types.h中记录的低级操作。
如果您有任何特定问题,我们将很乐意为您提供帮助,但是如果这只是一次性的事情,那么解决版本不兼容问题或将C ++实现与C接口包装起来可能会更容易