protobuf-demo/server/main.go

34 lines
779 B
Go

package main
import (
"log"
"net"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
"myschools.me/suguo/protobuf-demo/gen"
"myschools.me/suguo/protobuf-demo/middleware"
)
func main() {
rpc := grpc.NewServer(grpc.MaxRecvMsgSize(1024*1024), grpc.MaxSendMsgSize(1024*1024), grpc.UnaryInterceptor(middleware.Interceptor))
//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)
}
}