Junior — Middle
Come implementare l'invio di messaggi in un servizio gRPC?
sobes.tech AI
Risposta dell'AI
Per inviare un messaggio a un servizio gRPC in Go, è necessario:
- Generare il codice Go dal file .proto che descrive il servizio e i messaggi.
- Creare un client gRPC e connettersi al server.
- Chiamare il metodo necessario del servizio, inviando il messaggio.
Esempio:
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("Impossibile connettersi: %v", err)
}
defer conn.Close()
client := pb.NewYourServiceClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
req := &pb.YourRequest{Message: "Ciao, gRPC!"}
resp, err := client.YourMethod(ctx, req)
if err != nil {
log.Fatalf("Impossibile inviare il messaggio: %v", err)
}
log.Printf("Risposta: %s", resp.GetReply())
}
Qui, YourServiceClient e YourRequest sono tipi generati dal proto, e YourMethod è il metodo RPC del servizio.