前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gRPC之GoLang入门HelloWord(排版整理)

gRPC之GoLang入门HelloWord(排版整理)

作者头像
阿伟
发布2019-10-16 16:23:46
8650
发布2019-10-16 16:23:46
举报
文章被收录于专栏:GoLang那点事

这篇文章里我们要实现一个基于GoLang编程语言的gRPC的客户端与服务端通信的HelloWorld案例,喜欢grpc的一定要去实践。

编写hello_world.proto文件,如下代码:

如上代码,通过protobuffer的service定义一个接口HelloService,接口中有四个方法都以HelloWorld开头,入参是HelloRequest,出参是HelloResponse,通过最前面的rpc关键字标识为这是一个rpc接口。

编译hello_world.proto文件生成对应的go文件

笔者在go_common项目里新建了grpc项目结构如下代码

代码语言:javascript
复制
http://github.com/sunpengwei1992/go_common/grpc

进入项目之后可以先阅读README.md,了解各个包的功能

进入proto文件夹下

代码语言:javascript
复制
cd go_common/grpc/helloworldnew/proto

执行命令如下

代码语言:javascript
复制
protoc --goout=plugins=grpc:. helloworld.proto

最后生成的hello_world.pb.go文件主要有以下几部分组成:

  1. 方法出入参结构体以及序列化和反序列方法
  2. 注册出入参结构体的init方法
  3. 客户端存根结构体和接口以及实现
  4. 服务端结构体和接口以及一个空实现
  5. stream的send和recv结构体和接口以及实现
  6. 服务的一些描述

这里粘一些核心代码,并且简化了一些出入参,完成代码参考github上的源码

编写服务端代码

在server文件夹下新建helloworldserver.go文件,按如下步骤进行

  1. 创建HelloWorldServer结构体
  2. 实现pb.go文件中的HelloServiceServer接口实现所有方法
  3. StartServer(开启服务)

详细代码依然看github

编写客户端

在client目录下创建helloworldclient.go文件

github代码运行说明
  • 先启动 hello_world_server_test.go
  • 再启动 hello_world_client_test.go
  • 如下截图
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GoLang那点事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编写hello_world.proto文件,如下代码:
  • 编译hello_world.proto文件生成对应的go文件
  • 编写服务端代码
  • 编写客户端
  • github代码运行说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档