Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@nekonenene
Last active May 23, 2019 19:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nekonenene/408756af6074d511dcce0ab38f7965d8 to your computer and use it in GitHub Desktop.
Save nekonenene/408756af6074d511dcce0ab38f7965d8 to your computer and use it in GitHub Desktop.
Client for my gRPC server(ブログ公開用) https://nekonenene.hatenablog.com/entry/2019/02/17/073806
package main
import (
"context"
"go/build"
"log"
"os"
"strconv"
"time"
pb "nekonenene/hello/pb"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
)
const (
address = "grpc-test.hatone.net:443"
defaultName = "Kaname"
defaultAge = 20
)
func main() {
certFile := build.Default.GOPATH + "/src/google.golang.org/grpc/roots.pem"
creds, err := credentials.NewClientTLSFromFile(certFile, "")
if err != nil {
log.Fatalf("failed to generate credentials: %v", err)
}
conn, err := grpc.Dial(address, grpc.WithTransportCredentials(creds))
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
c := pb.NewGreeterClient(conn)
name := defaultName
age := defaultAge
if len(os.Args) > 2 {
name = os.Args[1]
age, _ = strconv.Atoi(os.Args[2])
}
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
r, err := c.SayHello(ctx, &pb.HelloRequest{Name: name, Age: int32(age)})
if err != nil {
log.Fatalf("could not get message: %v", err)
}
log.Printf("Got message: %s", r.Message)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment