概述
我使用的是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,和使用代码反向推出来的。
最后
以上就是诚心招牌为你收集整理的gRPC的Message相关介绍的全部内容,希望文章能够帮你解决gRPC的Message相关介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复