1. 安裝
$ go get -u google.golang.org/grpc
因爲牆緣由能夠從golang中國 第三方包下載
將文件下載下來拷貝到到對應文件夾下面
2.編譯文件
protoc --go_out=plugins=grpc:. *.proto
3.使用
服務端
svr := grpc.NewServer()
inf.RegisterUserDataServer(svr, &UserData{})
type UserData struct{}
func (d *UserData) GetUser(ctx context.Context, request *inf.UserReq) (response *inf.UserRsp, err error) {
response = &inf.UserRsp{
Name: strconv.Itoa(int(request.UserId)) + ":tip",
}
return response, err
}
客戶端
conn, err := grpc.Dial(fmt.Sprintf("127.0.0.1:%s", port), grpc.WithInsecure())
cli := inf.NewUserDataClient(conn)
getUser(cli)
func getUser(cli inf.UserDataClient) {
iRand := rand.Intn(100)
req := inf.UserReq{
UserId: int32(iRand),
}
rsp, err := cli.GetUser(context.Background(), &req)
if err != nil {
fmt.Println(err)
return
}
log.Printf("response:%v", rsp)
}
詳細代碼見
Client
Server
4.grpc詳細使用