package main import ( "git.gqnotes.com/guoqiang/grpcexercises/calculator/pb" "io" "log" ) // Sum 计算和-客户端流式 func (s *Server) Sum(stream pb.CalculateService_SumServer) error { var sum int64 for { req, err := stream.Recv() if err == io.EOF { log.Printf("req.Num: %v", req) break } if err != nil { return err } sum += req.Num } if err := stream.SendAndClose(&pb.SumResponse{Total: sum}); err != nil { return err } return nil }