Sobes.tech
Junior — Middle

Чӣ гуна иҷрои фиристодани паём дар хидмати gRPC?

sobes.tech AI

Ҷавоб аз AI

Барои фиристодани паём ба хидмати gRPC дар Go, лозим аст:

  1. Кодро аз файли .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("Пайваст кардан натавонист: %v", err)
    }
    defer conn.Close()

    client := pb.NewYourServiceClient(conn)

    ctx, cancel := context.WithTimeout(context.Background(), time.Second)
    defer cancel()

    req := &pb.YourRequest{Message: "Салом, gRPC!"}
    resp, err := client.YourMethod(ctx, req)
    if err != nil {
        log.Fatalf("Натавонист паём фиристодан: %v", err)
    }

    log.Printf("Ҷавоб: %s", resp.GetReply())
}

Ин ҷо, YourServiceClient ва YourRequest навъҳои тавлидшуда аз proto мебошанд ва YourMethod усули RPC-и хидмат мебошад.