我正在浏览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)
}
}
Run Code Online (Sandbox Code Playgroud)
men*_*anl 13
运行helloworld示例不需要服务器反射.
helloworld示例也用作服务器反射示例,这就是您在那里看到反射注册代码的原因.
有关服务器反射的更多信息:服务器反射是一种定义的服务,用于提供有关gRPC服务器上可公开访问的gRPC服务的信息.可在此处获得教程:https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md