Junior — Middle
Hoe implementeer je het verzenden van berichten in een gRPC-service?
sobes.tech AI
Antwoord van AI
Om een bericht naar een gRPC-service in Go te sturen, moet je:
- Go-code genereren uit het .proto-bestand dat de service en berichten beschrijft.
- Een gRPC-client maken en verbinding maken met de server.
- De benodigde methode van de service aanroepen en het bericht verzenden.
Voorbeeld:
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("Kon geen verbinding maken: %v", err)
}
defer conn.Close()
client := pb.NewYourServiceClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
req := &pb.YourRequest{Message: "Hallo, gRPC!"}
resp, err := client.YourMethod(ctx, req)
if err != nil {
log.Fatalf("Kon bericht niet verzenden: %v", err)
}
log.Printf("Reactie: %s", resp.GetReply())
}
Hier, YourServiceClient en YourRequest zijn gegenereerde types uit proto, en YourMethod is de RPC-methode van de service.