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
 
 

转载于:https://www.cnblogs.com/tiptok/p/10107968.html

回答: 错误提示中提到了一个未知的标志"--go-grpc",这可能是因为你的命令中使用了错误的标志。正确的命令应该是"protoc --go-grpc_out=. --go-grpc_opt=paths=source_relative user.proto"。请注意,标志"--go-grpc_out"和"--go-grpc_opt"之间应该有一个下划线"_",而不是一个空格。另外,你还需要确保你已经安装了正确的go协议编译器插件。你可以使用以下命令重新安装插件:"$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest"和"$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest"。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [使用protoc编译grpc问题记录(--go_out: protoc-gen-go: plugins are not supported;)](https://blog.youkuaiyun.com/m0_57777971/article/details/127864341)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [protoc-gen-go: plugin are not supported;use ‘protoc --go-grpc_out=...‘ to generate gRPC 的问题](https://blog.youkuaiyun.com/weixin_42875684/article/details/125652895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值