package main import ( "fmt" "flag" "log" "net" "os" "google.golang.org/grpc" "google.golang.org/grpc/reflection" "google.golang.org/grpc/credentials" "tldemo/services" ) var ( port = flag.Int("port", 50051, "The server port") crt_file = "certs/server.crt" key_file = "certs/server.key" ) func main() { fmt.Println("==== TurboLink Test Server =====") logFileName := "./log/services.log" logFile, err := os.OpenFile(logFileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766) if err != nil { log.Fatalf("could not load TLS keys: %s", err) return } log.SetOutput(logFile) log.SetFlags(log.LstdFlags | log.Lshortfile | log.Ltime) flag.Parse() lis, err := net.Listen("tcp",":5050") if err != nil { log.Fatalf("failed to listen: %v", err) } // server-side tls // Create the TLS credentials creds, err := credentials.NewServerTLSFromFile(crt_file, key_file) if err != nil { log.Fatalf("could not load TLS keys: %s", err) } s := grpc.NewServer(grpc.Creds(creds)) //register all server services.RegisterGreeterServer(s) services.RegisterUserServer(s) reflection.Register(s) log.Printf("server listening at %v", lis.Addr()) if err := s.Serve(lis); err != nil { log.Fatalf("failed to serve: %v", err) } }