package main

 

import (

        "context"

        "google.golang.org/grpc"

        pb "pb_models/gg_rpc"

        "log"

        "fmt"

        "os"

        "github.com/golang/protobuf/proto"

        "time"

)

 

const (

        Address = "localhost:10010"

        DefaultName = "Carter"

)

 

func main() {

 

        Conn, Err := grpc.Dial(Address, grpc.WithInsecure())

        if Err != nil {

                log.Fatalf("did not connect : %v .", Err)

        }

 

        defer Conn.Close()

 

        Client := pb.NewGreeterClient(Conn)

        fmt.Println("grpc client start.")

 

        Name := DefaultName

        if len(os.Args) > 1 {

                Name = os.Args[1]

        }

 

        Ctx, Cancel := context.WithTimeout(context.Background(), time.Second)

        defer Cancel()

 

        RpcResult, RpcError := Client.RpcCall(Ctx, &pb.RpcRequest{Name : proto.String(Name)})

        if RpcError != nil {

                log.Fatalf("could not greet %v .", RpcError)

        }

 

        log.Printf("Greeting: %v .", RpcResult.GetMessage())

}