【1】 proto相关文件同服务端,如已经生成,可以直接使用服务端的文件(包)
【2】新建一个目录“WHG_CLIENT”,目录下新建一个main.go文件
package main
import (
"context"
"log"
"grpc-go-master/examples/whgservice/whgserviceproto"
"time"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
)
func main() {
//连接服务
conn, err := grpc.Dial("127.0.0.1:8888", grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
panic(err)
}
// 延迟关闭连接
defer conn.Close()
client := whgserviceproto.NewWHGClient(conn)
// 初始化上下文,设置请求超时时间为1秒
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
// 延迟关闭请求会话
resp, err := client.SayStatus(ctx, &whgserviceproto.WHGRequest{Name: "PMAC"})
if err != nil {
log.Fatalf("could not send msg: %v", err)
}
// 打印服务的返回的消息
log.Printf("msg: %s", resp.GetStatus())
}
【3】目录结构如下: