2017-01-02 152 views
2

我正在瀏覽gRPC服務器的這個代碼。誰能告訴我需要思考用here爲什麼我們需要在gRPC服務器上註冊反射服務

代碼:

func main() { 
    lis, err := net.Listen("tcp", port) 
    if err != nil { 
     log.Fatalf("failed to listen: %v", err) 
    } 
    s := grpc.NewServer() 
    pb.RegisterGreeterServer(s, &server{}) 
    // Register reflection service on gRPC server. 
    reflection.Register(s) 
    if err := s.Serve(lis); err != nil { 
     log.Fatalf("failed to serve: %v", err) 
    } 
} 

回答

6

服務器反射是沒有必要的運行HelloWorld示例。

helloworld示例也用作服務器反射示例,這就是爲什麼您在那裏看到反射註冊代碼的原因。

有關服務器反思的更多信息: 服務器反射是定義的一種服務,用於提供有關gRPC服務器上可公開訪問的gRPC服務的信息。教程可在這裏:https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md

+0

'reflection.Register(s) \t if err:= s.Serve(lis); err!= nil { \t \t log.Fatalf(「failed to serve:%v」,err) \t}'因此,我可以安全地刪除這段代碼,對吧? – Naresh

+0

您可以移動代碼以註冊反射。 – menghanl

相關問題