60 lines
1.2 KiB
Go
60 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|