Skip to content

Commit 2c22d40

Browse files
authored
feat: add grpcs for test (#5)
1 parent 900364c commit 2c22d40

File tree

3 files changed

+57
-16
lines changed

3 files changed

+57
-16
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@
1010

1111
# Output of the go coverage tool, specifically when used with LiteIDE
1212
*.out
13+
14+
# Ignore binary
15+
/grpc_server_example

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module github.com/iresty/grpc_server_example
1+
module github.com/api7/grpc_server_example
22

33
go 1.11
44

main.go

Lines changed: 53 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,38 @@ package main
2323

2424
import (
2525
"context"
26+
"flag"
2627
"fmt"
2728
"log"
2829
"net"
29-
"runtime"
30+
"os"
31+
"os/signal"
32+
"syscall"
3033
"time"
3134

35+
"google.golang.org/grpc"
3236
"google.golang.org/grpc/codes"
37+
"google.golang.org/grpc/credentials"
3338
"google.golang.org/grpc/status"
3439

35-
pb "github.com/iresty/grpc_server_example/proto"
36-
"google.golang.org/grpc"
40+
pb "github.com/api7/grpc_server_example/proto"
3741
)
3842

39-
const (
40-
port = ":50051"
43+
var (
44+
grpcAddr = ":50051"
45+
grpcsAddr = ":50052"
46+
47+
crtFilePath = "../t/cert/apisix.crt"
48+
keyFilePath = "../t/cert/apisix.key"
4149
)
4250

51+
func init() {
52+
flag.StringVar(&grpcAddr, "grpc-address", grpcAddr, "address for grpc")
53+
flag.StringVar(&grpcsAddr, "grpcs-address", grpcsAddr, "address for grpcs")
54+
flag.StringVar(&crtFilePath, "crt", crtFilePath, "path to certificate")
55+
flag.StringVar(&keyFilePath, "key", keyFilePath, "path to key")
56+
}
57+
4358
// server is used to implement helloworld.GreeterServer.
4459
type server struct{}
4560

@@ -74,16 +89,39 @@ func (s *server) Plus(ctx context.Context, in *pb.PlusRequest) (*pb.PlusReply, e
7489
}
7590

7691
func main() {
92+
flag.Parse()
93+
94+
go func() {
95+
lis, err := net.Listen("tcp", grpcAddr)
96+
if err != nil {
97+
log.Fatalf("failed to listen: %v", err)
98+
}
99+
s := grpc.NewServer()
100+
pb.RegisterGreeterServer(s, &server{})
101+
if err := s.Serve(lis); err != nil {
102+
log.Fatalf("failed to serve: %v", err)
103+
}
104+
}()
77105

78-
runtime.GOMAXPROCS(1)
106+
go func() {
107+
lis, err := net.Listen("tcp", grpcsAddr)
108+
if err != nil {
109+
log.Fatalf("failed to listen: %v", err)
110+
}
79111

80-
lis, err := net.Listen("tcp", port)
81-
if err != nil {
82-
log.Fatalf("failed to listen: %v", err)
83-
}
84-
s := grpc.NewServer()
85-
pb.RegisterGreeterServer(s, &server{})
86-
if err := s.Serve(lis); err != nil {
87-
log.Fatalf("failed to serve: %v", err)
88-
}
112+
c, err := credentials.NewServerTLSFromFile(crtFilePath, keyFilePath)
113+
if err != nil {
114+
log.Fatalf("credentials.NewServerTLSFromFile err: %v", err)
115+
}
116+
s := grpc.NewServer(grpc.Creds(c))
117+
pb.RegisterGreeterServer(s, &server{})
118+
if err := s.Serve(lis); err != nil {
119+
log.Fatalf("failed to serve: %v", err)
120+
}
121+
}()
122+
123+
signals := make(chan os.Signal, 1)
124+
signal.Notify(signals, os.Interrupt, syscall.SIGTERM)
125+
sig := <-signals
126+
log.Printf("get signal %s, exit\n", sig.String())
89127
}

0 commit comments

Comments
 (0)