我是靠谱客的博主 诚心招牌,最近开发中收集的这篇文章主要介绍gRPC的Message相关介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我使用的是C++的gRPC
gRPC需要需要在 .proto 中定义所需的servicemessage,随后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相关介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部