Junior — Middle
Cum se implementează trimiterea mesajelor într-un serviciu gRPC?
sobes.tech AI
Răspuns de la AI
Pentru a trimite un mesaj către un serviciu gRPC în Go, trebuie:
- Să generezi cod Go din fișierul .proto care descrie serviciul și mesajele.
- Să creezi un client gRPC și să te conectezi la server.
- Să apelezi metoda necesară a serviciului, trimițând mesajul.
Exemplu:
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("Nu s-a putut conecta: %v", err)
}
defer conn.Close()
client := pb.NewYourServiceClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
req := &pb.YourRequest{Message: "Salut, gRPC!"}
resp, err := client.YourMethod(ctx, req)
if err != nil {
log.Fatalf("Nu s-a putut trimite mesajul: %v", err)
}
log.Printf("Răspuns: %s", resp.GetReply())
}
Aici, YourServiceClient și YourRequest sunt tipuri generate din proto, iar YourMethod este metoda RPC a serviciului.