Sobes.tech
Back to questions
Junior — Middle
80

Каким образом реализовать отправку сообщения в gRPC-сервис?

Companies where asked
WildberriesWildberries

Answer from AI

sobes.tech AI

Для отправки сообщения в gRPC-сервис на Go нужно:

  1. Сгенерировать Go-код из .proto файла с описанием сервиса и сообщений.
  2. Создать gRPC-клиент, подключиться к серверу.
  3. Вызвать нужный метод сервиса, передав сообщение.

Пример:

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-метод сервиса.