2017-01-02 5 views
2

Ich ging durch diesen Code des gRPC-Servers. Kann mir jemand sagen, das Bedürfnis nach Reflexion verwendet hereWarum müssen wir Reflection Service auf dem gRPC-Server registrieren

Code:

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) 
    } 
} 

Antwort

6

Server Reflexion ist nicht notwendig, das Hello World Beispiel auszuführen.

Das Helloworld-Beispiel wird auch als Beispiel für die Serverreflexion verwendet, deshalb sehen Sie dort den Reflektionsregistrierungscode.

Mehr über Serverreflexion: Serverreflexion ist ein Dienst, der definiert wurde, um Informationen zu öffentlich zugänglichen gRPC-Diensten auf einem gRPC-Server bereitzustellen. Tutorial verfügbar hier: https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md

+0

'reflection.Register (s) \t wenn err: = s.Serve (lis); err! = nil { \t \t log.Fatalf ("konnte nicht geliefert werden:% v", err) \t} 'Daher kann ich diesen Code sicher entfernen, richtig? – Naresh

+0

Sie können den Code zur Registrierung der Reflexion verschieben. – menghanl

Verwandte Themen