package main import ( "context" "gogrpc/proto" "log/slog" "os" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" ) func main() { conn, err := grpc.NewClient("127.0.0.1:1337", grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { slog.Error("Failed to connect to server", "err", err.Error()) os.Exit(1) } defer conn.Close() client := proto.NewServiceClient(conn) input := proto.PingMessage{Message: "ping"} output, err := client.Ping(context.Background(), &input) if err != nil { slog.Error("failed to execute ping", "err", err.Error()) os.Exit(1) } slog.Info("received response", "message", output.Message) }