【1】 proto相关文件同服务端,如已经生成,可以直接使用服务端的文件(包)
【2】新建一个目录“WHG_CLIENT”,目录下新建一个main.go文件
package mainimport ("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】目录结构如下: