2021-10-04 02:00:11 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"log"
|
|
|
|
|
"net"
|
|
|
|
|
|
|
|
|
|
"google.golang.org/grpc"
|
|
|
|
|
"google.golang.org/grpc/reflection"
|
|
|
|
|
"myschools.me/suguo/protobuf-demo/gen"
|
2021-10-04 04:39:54 +00:00
|
|
|
"myschools.me/suguo/protobuf-demo/middleware"
|
2021-10-04 02:00:11 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
2021-10-04 04:39:54 +00:00
|
|
|
rpc := grpc.NewServer(grpc.MaxRecvMsgSize(1024*1024), grpc.MaxSendMsgSize(1024*1024), grpc.UnaryInterceptor(middleware.Interceptor))
|
2021-10-04 02:00:11 +00:00
|
|
|
|
|
|
|
|
//register
|
|
|
|
|
gen.RegisterDemoServer(rpc, &Demo{})
|
|
|
|
|
|
|
|
|
|
//注册反射 用于grpcurl调试
|
|
|
|
|
reflection.Register(rpc)
|
|
|
|
|
|
|
|
|
|
// grpc服务启动
|
|
|
|
|
lis, err := net.Listen("tcp", ":0")
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Fatal("fail to open port: ", err)
|
|
|
|
|
}
|
|
|
|
|
defer lis.Close()
|
|
|
|
|
port := lis.Addr().(*net.TCPAddr).Port
|
|
|
|
|
log.Printf("starting grpc service on port: %d", port)
|
|
|
|
|
if err := rpc.Serve(lis); err != nil {
|
|
|
|
|
log.Fatal("fail to open microservice: ", err)
|
|
|
|
|
}
|
|
|
|
|
}
|