我有一个用C写的程序,我想在里面包含gRPC。但是,gRPC的应用编程接口是用C++编写的。
我已经查看了这里,并使foo_client和foo_server正常工作。https://github.com/Juniper/grpc-c/tree/master/examples
但是,C客户端与我的gRPC C++服务器不兼容。他们不会互相交谈。我相信这是因为我使用的是最新的gRPC,它使用的是protocbuf版本3.2.0。Juniper的grpc-c使用的是使用protocbuf版本3.0.0的旧版本的gRPC。
所以C中的Juniper版本似乎不能与新的gRPC一起工作。我知道gRPC低级C应用程序接口应该在这里:https://github.com/grpc/grpc/blob/master/include/grpc/grpc.h,但我在实现它时遇到了困难。有人能帮我弄明白吗?
我已经有一段时间没有用C语言编程了,所以我有点生疏了。
发布于 2018-06-21 02:46:48
如果您直接使用gRPC核心库,那么您将需要执行自己的序列化,并处理https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/grpc_types.h中记录的低级操作。
如果您有任何特定的问题,我们将很乐意帮助您,但如果这只是一次性的事情,那么解决版本不兼容问题可能会更容易,或者可能只是用C接口包装C++实现。
https://stackoverflow.com/questions/50953651
复制相似问题