Back to questions
Wildberries
Junior — Middle
82
Каким образом реализовать отправку сообщения в gRPC-сервис?
Companies where asked
Answer from AI
sobes.tech AI
Для отправки сообщения в gRPC-сервис на Go нужно:
- Сгенерировать Go-код из .proto файла с описанием сервиса и сообщений.
- Создать gRPC-клиент, подключиться к серверу.
- Вызвать нужный метод сервиса, передав сообщение.
Пример:
package main
import (
"context"
"log"
"time"
"google.golang.org/grpc"
pb "path/to/generated/proto/package"
)
func main() {
conn, err := grpc.Dial("localhost:50051", grpc.WithInsecure())
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
client := pb.NewYourServiceClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
req := &pb.YourRequest{Message: "Hello, gRPC!"}
resp, err := client.YourMethod(ctx, req)
if err != nil {
log.Fatalf("could not send message: %v", err)
}
log.Printf("Response: %s", resp.GetReply())
}
Здесь YourServiceClient и YourRequest — сгенерированные типы из proto, YourMethod — RPC-метод сервиса.