Внешний сервер grpc с приватным ключом и Go
Как подключиться к внешнему серверу grpc через go ? В гугле найти информацию не могу, перерыл кучу ресурсов , помогите( Нужно подключиться к серверу и написать тесты методов
Ответы (1 шт):
для начала укажем куда нужно подключиться, все проверки на ошибку я опустил.
conn, err := grpc.Dial("127.0.0.1:1234")
есть возможности конфигурировать gRPC клиент с помощью ServerOptions. напрмер, grpc.Dial("127.0.0.1:1234", grpc.WithInsecure(), grpc.WithBlock())
Но это не все. Нам нужно работчать через протобаф. для этого зарегистрируем наш протобаф pb "google.golang.org/grpc/examples/helloworld/helloworld"
c := pb.NewGreeterClient(conn)
теперь мы можем отправить серверу, который реализует этот протобаф, сообщение.
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
r, err := c.SayHello(ctx, &pb.HelloRequest{Name: name})
if err != nil {
log.Fatalf("could not greet: %v", err)
}
log.Printf("Greeting: %s", r.GetMessage())
методы SayHello, HelloRequest, GetMessage реализованы в самом протобафе.
подробнее про это можно почитать в официальной документации. примеры кода тут