board/cmd/grpc.go
2025-04-15 23:49:28 +03:00

44 lines
874 B
Go

package main
import (
"context"
"flag"
"fmt"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
"log"
pb "madsky.ru/go-finance/proto"
"net"
)
var port = flag.Int("port", 50051, "the server port")
type GrpcServer struct {
pb.UnimplementedHelloServer
}
func (s *GrpcServer) SayHello(_ context.Context, in *pb.HelloRequest) (*pb.HelloResponse, error) {
log.Printf("Received: %v", in.GetName())
return &pb.HelloResponse{Message: "Hello " + in.GetName()}, nil
}
func grpcServer() {
flag.Parse()
listen, err := net.Listen("tcp", fmt.Sprintf(":%d", *port))
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
reflection.Register(s)
pb.RegisterHelloServer(s, &GrpcServer{})
log.Printf("server listening at %v", listen.Addr())
if err := s.Serve(listen); err != nil {
log.Fatalf("failed to serve: %v", err)
}
}