【发布时间】:2019-12-04 17:09:59
【问题描述】:
我正在用 boost::asio 和 protobuf 编写“筏共识算法”。服务器通过使用两种类型的“RPC”相互通信:AppendEntryRPC 和 RequestVoteRPC。当服务器 A 从服务器 B 接收到一个已知长度的字符串时,它如何知道该字符串应该被解码为哪种 RPC 结构?
我知道这个问题有一个简单的解决方案,将接收阶段分为两个阶段:第一阶段获取 RPC 类型名称,第二阶段获取 RPC 字符串内容然后对其进行解码。但我只是想避免这样做。有什么解决办法吗?
我还知道有一个名为“grpc”的框架,但我无法在我的 Mac 上成功运行它的示例。或者有人可以用天真的语言解释“grpc”如何解决这个问题吗?
【问题讨论】:
标签: protocol-buffers