【问题标题】:grpc-go how to deal cancellation examplegrpc-go 如何处理取消示例
【发布时间】:2019-04-04 03:33:38
【问题描述】:

我正在看 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})
    }
}

有人能解释一下这个执行的过程吗,它是怎么调用的?谢谢。

【问题讨论】:

    标签: grpc grpc-go


    【解决方案1】:

    客户端调用方法

        stream, err := c.BidirectionalStreamingEcho(ctx)
    
    

    所以服务器将开始调用BidirectionalStreamingEcho

    【讨论】:

      猜你喜欢
      • 2023-01-20
      • 1970-01-01
      • 2018-05-29
      • 2021-05-03
      • 2021-09-30
      • 2023-03-07
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多