如何用C编写gRPC客户端/服务器?

时间:2018-06-20 17:11:31

标签: c grpc

我有一个用C编写的程序,想要在其中包含gRPC。但是,用于gRPC的API是用C ++编写的。

我已经看过这里,并使foo_client和foo_server工作。 droplet created on digital ocean

但是,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编程了,所以有点生疏了。

1 个答案:

答案 0 :(得分:1)

如果直接使用gRPC核心库,则需要执行自己的序列化,并处理https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/grpc_types.h中记录的低级操作。

如果您有任何特定问题,我们将很乐意为您提供帮助,但是如果这只是一次性的事情,那么解决版本不兼容问题或将C ++实现与C接口包装起来可能会更容易