如何使用 grpc 在 C++ 的嵌入式消息中将数据从服务器发送到客户端?
How to send the data from a server to a client in the embedded messages in C++ using grpc?
我正在实现一个简单的基于客户端-服务器 grpc-c++ 的应用程序。在 Hello rpc 中,我接受请求并发送另一条名为 SeverInfo 的消息的字段作为响应。问题是我完全不知道如何将此 ServerInfo 数据从服务器端发送到客户端。我们基本上使用 set_fieldname(例如:set_name)作为一般数据类型来发送数据,但是我们应该如何将此 serverInfo 数据发送到 HelloResponse,然后再发送到 HelloRequest。有人可以帮帮我吗??
下面我附上原型文件。
syntax = "proto3";
package sample;
service Sample {
rpc Hello(HelloRequest) returns (HelloReply){}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
ServerInfo sinfo = 1;
}
message ServerInfo {
string name = 1;
string os = 2;
}
您可以在服务定义中定义另一个 rpc,例如
service Sample {
rpc Hello(HelloRequest) returns (HelloReply){}
rpc GetServerInfo(HelloRequest) returns (ServerInfo){}
}
这对你有用吗?
这是对我有用的答案。谢谢。
ServerInfo* serverinfo=new ServerInfo();
serverinfo->set_name("");
serverinfo->set_os("");
HelloReply* rep;
rep->set_allocated_server(serverinfo);
我正在实现一个简单的基于客户端-服务器 grpc-c++ 的应用程序。在 Hello rpc 中,我接受请求并发送另一条名为 SeverInfo 的消息的字段作为响应。问题是我完全不知道如何将此 ServerInfo 数据从服务器端发送到客户端。我们基本上使用 set_fieldname(例如:set_name)作为一般数据类型来发送数据,但是我们应该如何将此 serverInfo 数据发送到 HelloResponse,然后再发送到 HelloRequest。有人可以帮帮我吗??
下面我附上原型文件。
syntax = "proto3";
package sample;
service Sample {
rpc Hello(HelloRequest) returns (HelloReply){}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
ServerInfo sinfo = 1;
}
message ServerInfo {
string name = 1;
string os = 2;
}
您可以在服务定义中定义另一个 rpc,例如
service Sample {
rpc Hello(HelloRequest) returns (HelloReply){}
rpc GetServerInfo(HelloRequest) returns (ServerInfo){}
}
这对你有用吗?
这是对我有用的答案。谢谢。
ServerInfo* serverinfo=new ServerInfo();
serverinfo->set_name("");
serverinfo->set_os("");
HelloReply* rep;
rep->set_allocated_server(serverinfo);