Junior — Middle
Πώς υλοποιείται η αποστολή μηνυμάτων σε μια υπηρεσία gRPC;
sobes.tech AI
Απάντηση από AI
Για να στείλετε ένα μήνυμα σε μια υπηρεσία gRPC σε Go, πρέπει:
- Να δημιουργήσετε κώδικα Go από το αρχείο .proto που περιγράφει την υπηρεσία και τα μηνύματα.
- Να δημιουργήσετε έναν πελάτη gRPC και να συνδεθείτε με τον διακομιστή.
- Να καλέσετε τη χρειαστημένη μέθοδο της υπηρεσίας, στέλνοντας το μήνυμα.
Παράδειγμα:
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("Δεν μπόρεσε να συνδεθεί: %v", err)
}
defer conn.Close()
client := pb.NewYourServiceClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
req := &pb.YourRequest{Message: "Γειά σου, gRPC!"}
resp, err := client.YourMethod(ctx, req)
if err != nil {
log.Fatalf("Δεν μπόρεσε να στείλει το μήνυμα: %v", err)
}
log.Printf("Απάντηση: %s", resp.GetReply())
}
Εδώ, YourServiceClient και YourRequest είναι τύποι που έχουν δημιουργηθεί από το proto, και YourMethod είναι η RPC μέθοδος της υπηρεσίας.