Sobes.tech
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:

  1. Generar código Go a partir del archivo .proto que describe el servicio y los mensajes.
  2. Crear un cliente gRPC y conectarse al servidor.
  3. 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.