我是 gRPC 的大一新生,这是我的问题。我正在尝试通过myOwnService
以下服务方法编写服务以公开到 gRPC 服务中:
rpc HighFive (stream HighRequest) returns (stream HighReply) {}
服务器端代码如下:
func (s *server) HighFive(stream pb.Greeter_HighFiveServer) error {
// Oops, don't know how to do here ...
myOwnService(stdin io.ReadCloser, stdout io.WriteCloser)
return nil
}
func myOwnService(stdin io.ReadCloser, stdout io.WriteCloser) error {
// read input from stdin, do something, the write result to stdout
...
return nil
}
正如您在上面看到的,我不知道如何stream
使用io.Reader
和io.Writer
在我的原始服务中工作,以便HighFive
gRPC 服务的调用者可以像myOwnService
正常调用一样读取和写入数据。
[更新] 我当前的消息是这样的,但如果需要,您可以更改它们:
message HighRequest {
bytes content = 1;
}
message HighReply {
bytes content = 1;
}