栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

gRPC的Message相关介绍

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

gRPC的Message相关介绍

我使用的是C++的gRPC
gRPC需要需要在 .proto 中定义所需的service和message,随后grpc编译器会帮你生成.pb.h文件。
这里主要说一下.proto和.pb.h中Message如何操作问题。
这里是一个.proto样例代码:

service DgnnProtoService{
  rpc serverSendNode(NodeMessage) returns(NodeMessage){}
}

我们声明了一个gRPC函数,名字是serverSendNode,它的request的Message是NodeMessage,reply的Message是NodeMessage。
NodeMessage格式如下

message NodeMessage{
  repeated int32 nodes = 1;
  int32 layid=2;
}

现在来看看.pb.h文件对应生成的代码是什么,注意这里的.pb.h是C++的头文件:
生成了一个class NodeMessage;

class NodeMessage;

这个类中部分方法

void clear_layid();
void set_layid(::PROTOBUF_NAMESPACE_ID::int32 value);
void _internal_set_layid(::PROTOBUF_NAMESPACE_ID::int32 value);
inline void NodeMessage::set_layid(::PROTOBUF_NAMESPACE_ID::int32 value)

我选取的是layid这个观察样本,并不是说nodes相关的函数就没有哈。
一个规律就是:
gRPC对于Message的成员操作是:操作方法+下划线+成员名
比如set;clear等。
Message还有一个repeated关键字,加了这个关键字的成员操作则没有set,而是add。
回头有空了再写Message的嵌套相关的操作。

这些都是我看别人代码,对照着proto,pb.h,和使用代码反向推出来的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990225.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号