Protobuf RPC回调

时间:2016-02-26 09:57:01

标签: callback protocol-buffers rpc

有没有办法使用Protobuf RPC从服务器到客户端进行调用调用(从客户端到服务器的自定义调用,而不是直接调用)?

我的意思是,例如,使用回调参数描述* .proto文件中的服务方法?

我正在使用gRPC库。

1 个答案:

答案 0 :(得分:7)

在gRPC中执行服务器>客户端消息的一般方法是通过“流式传输”。也就是说,客户端调用服务器,然后服务器可以在最终完成调用之前将一系列消息“流”回客户端。

请参阅:http://www.grpc.io/docs/guides/concepts.html#server-streaming-rpc

当然,“流媒体”是一种与传统“回调”完全不同的模式,但你通常可以用它解决同样的问题。

请注意Cap'n Proto RPC - Protobuf和gRPC的替代方案 - 通过支持对象引用作为第一类类型完全支持双向调用:例如,客户端可以调用它提供用于回调的对象引用的服务器,然后服务器可以稍后在客户端上调用该对象。

(披露:我是Google的Protobuf v2的作者,也是Cap'n Proto的作者,但我不隶属于gRPC。)