go-grpc 使用

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詳細使用
gRPC 官方文檔中文版_V1.0 https://doc.oschina.net/grpc?t=60133
相關文章
相關標籤/搜索