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:
- Go-Code aus der .proto-Datei generieren, die den Dienst und die Nachrichten beschreibt.
- Einen gRPC-Client erstellen und eine Verbindung zum Server herstellen.
- 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.