Junior — Middle
¿Cómo implementar el envío de mensajes en un servicio gRPC?
sobes.tech AI
Respuesta de la IA
Para enviar un mensaje a un servicio gRPC en Go, necesitas:
- Generar código Go a partir del archivo .proto que describe el servicio y los mensajes.
- Crear un cliente gRPC y conectarse al servidor.
- Llamar al método necesario del servicio, enviando el mensaje.
Ejemplo:
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("No se pudo conectar: %v", err)
}
defer conn.Close()
client := pb.NewYourServiceClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
req := &pb.YourRequest{Message: "¡Hola, gRPC!"}
resp, err := client.YourMethod(ctx, req)
if err != nil {
log.Fatalf("No se pudo enviar el mensaje: %v", err)
}
log.Printf("Respuesta: %s", resp.GetReply())
}
Aquí, YourServiceClient y YourRequest son tipos generados a partir del proto, y YourMethod es el método RPC del servicio.