我正在看grpc示例,但是我不理解这个示例。有人能给我解释一下吗?
示例位于:https://github.com/grpc/grpc-go/blob/master/examples/features/cancellation/server/main.go#L52
func (s *server) BidirectionalStreamingEcho(stream pb.Echo_BidirectionalStreamingEchoServer) error {
for {
in, err := stream.Recv()
if err != nil {
fmt.Printf("server: error receiving from stream: %v\n", err)
if err == io.EOF {
return nil
}
return err
}
fmt.Printf("echoing message %q\n", in.Message)
stream.Send(&pb.EchoResponse{Message: in.Message})
}
}有没有人能解释一下这个执行的过程,它叫什么名字?谢谢。
发布于 2019-04-04 12:07:16
客户端调用该方法
stream, err := c.BidirectionalStreamingEcho(ctx)因此服务器将启动call BidirectionalStreamingEcho
https://stackoverflow.com/questions/55507433
复制相似问题