Junior — Middle
Como implementar o envio de mensagens num serviço gRPC?
sobes.tech IA
Resposta da IA
Para enviar uma mensagem a um serviço gRPC em Go, precisa de:
- Gerar código Go a partir do ficheiro .proto que descreve o serviço e as mensagens.
- Criar um cliente gRPC e ligar-se ao servidor.
- Chamar o método necessário do serviço, enviando a mensagem.
Exemplo:
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("Não foi possível conectar: %v", err)
}
defer conn.Close()
client := pb.NewYourServiceClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
req := &pb.YourRequest{Message: "Olá, gRPC!"}
resp, err := client.YourMethod(ctx, req)
if err != nil {
log.Fatalf("Não foi possível enviar a mensagem: %v", err)
}
log.Printf("Resposta: %s", resp.GetReply())
}
Aqui, YourServiceClient e YourRequest são tipos gerados a partir do proto, e YourMethod é o método RPC do serviço.