【问题标题】:RPC in Google Protobuf servicesGoogle Protobuf 服务中的 RPC
【发布时间】:2018-05-03 14:44:47
【问题描述】:

单个 protobuf 服务定义可以定义多个 rpc 调用吗?

service HelloService {
  rpc SayHello (HelloRequest) returns (HelloResponse);
  rpc SayHello2 (HelloRequest2) returns (HelloResponse2);
  rpc SayHello (HelloRequest3) returns (HelloResponse3);
}

protobuf 定义没有在任何地方指定它,但似乎所有示例都只有一个。

【问题讨论】:

  • 请注意,没有参数重载。你不能重复 SayHello 两次,但你可以有 SayHello 和 SayHello2。

标签: protocol-buffers grpc


【解决方案1】:

有趣的是,protobuf 文档的Defining Services 部分缺少明确的声明,但以下示例取自grpc 文档,它清楚地回答了您的问题:

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
  // Sends another greeting
  rpc SayHelloAgain (HelloRequest) returns (HelloReply) {}
}

【讨论】:

  • 另外,grpc github repository 中的示例代码显示了在单个服务中包含多条消息的原始文件。
猜你喜欢
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多