Sobes.tech
Junior — Middle

Πώς υλοποιείται η αποστολή μηνυμάτων σε μια υπηρεσία gRPC;

sobes.tech AI

Απάντηση από 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("Δεν μπόρεσε να συνδεθεί: %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 μέθοδος της υπηρεσίας.