Junior — Middle
Чӣ гуна иҷрои фиристодани паём дар хидмати gRPC?
sobes.tech AI
Ҷавоб аз AI
Барои фиристодани паём ба хидмати gRPC дар 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-и хидмат мебошад.