2016-02-26 39 views
2

有沒有辦法通過Protobuf RPC執行從服務器到客戶端的調用調用(而不是直接從客戶端到服務器的自定義調用)?Protobuf RPC回調

我的意思,例如,描述帶有回調參數的* .proto文件中的服務方法?

我使用gRPC庫。

回答

3

在gRPC中執行服務器 - >客戶端消息的一般方法是通過「流式傳輸」。也就是說,客戶端打電話給服務器,然後服務器可以在最終完成呼叫之前將一系列消息「流」回客戶端。

參見:http://www.grpc.io/docs/guides/concepts.html#server-streaming-rpc

當然,「流」是從傳統的「回調」一個相當不同的模式,但你經常可以解決同樣的問題吧。

請注意,Cap'n Proto RPC-- Protobuf和gRPC的替代品 - 通過支持對象引用作爲第一類類型,完全支持兩個方向的調用:例如,客戶端可以調用服務器它提供了一個用於回調的對象引用,然後服務器可以稍後再調用回客戶端上的該對象。

(披露:我是谷歌的的Protobuf V2的作者,也頭兒原的作家,但我不GRPC附屬)

+0

非常感謝:) –