Sobes.tech
Junior — Middle

Wie implementiert man das Senden von Nachrichten in einem gRPC-Service?

sobes.tech KI

Antwort von AI

Um eine Nachricht an einen gRPC-Dienst in Go zu senden, müssen Sie:

  1. Go-Code aus der .proto-Datei generieren, die den Dienst und die Nachrichten beschreibt.
  2. Einen gRPC-Client erstellen und eine Verbindung zum Server herstellen.
  3. Die benötigte Methode des Dienstes aufrufen und die Nachricht senden.

Beispiel:

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("Verbindung fehlgeschlagen: %v", err)
    }
    defer conn.Close()

    client := pb.NewYourServiceClient(conn)

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

    req := &pb.YourRequest{Message: "Hallo, gRPC!"}
    resp, err := client.YourMethod(ctx, req)
    if err != nil {
        log.Fatalf("Nachricht konnte nicht gesendet werden: %v", err)
    }

    log.Printf("Antwort: %s", resp.GetReply())
}

Hier sind YourServiceClient und YourRequest generierte Typen aus proto, YourMethod ist die RPC-Methode des Dienstes.