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 методът на услугата.