当前位置: 首页 > news >正文

做服装批发的网站哪个比较好外贸公司如何做推广

做服装批发的网站哪个比较好,外贸公司如何做推广,表格做网站,黄山旅游攻略住宿系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 文章目录 一、前言二、定义proto文件三、编写server服务端四、编写Client客户端五、测试六、示例代码 一、前言 多服务,即一个rpc提供多个服务给外界调用…

系列文章目录
第一章 grpc基本概念与安装
第二章 grpc入门示例
第三章 proto文件数据类型
第四章 多服务示例


文章目录

  • 一、前言
  • 二、定义proto文件
  • 三、编写server服务端
  • 四、编写Client客户端
  • 五、测试
  • 六、示例代码


一、前言

多服务,即一个rpc提供多个服务给外界调用。好比唤醒服务,可以有语音唤醒人脸唤醒触摸唤醒人体唤醒。以此为基础,做一个示例。

二、定义proto文件

这里定义2个服务,一个语音唤醒服务,人脸唤醒服务。语音唤醒服务又包含各种各样的方法,比如狗叫坤叫,狗会汪汪汪叫,猫会喵喵喵叫,坤会???,这里以狗叫为例。人脸唤醒又包含各种各样的方法,比如一耳光一巴掌,毕竟没几个人挨一巴掌还没醒的,这里以一巴掌为例。

新建wake.proto文件示例如下:

// 指定proto版本
syntax = "proto3";package wake_grpc;     // 指定默认包名// 指定golang包名
option go_package = "/wake_proto";//语音唤醒服务
service VoiceWakeService {//狗叫rpc DogBark(Request)returns(Response){}
}//人脸唤醒服务
service FaceWakeService {//一巴掌rpc ASlap(Request)returns(Response){}
}//请求参数
message Request{string name = 1;
}
//响应参数
message Response{string sound = 1;
}

go_grpc_study/example_2/grpc_proto目录下新建Terminal,执行生成文件,命令如下

protoc --go_out=. --go-grpc_out=. ./wake.proto

目录结构变更后为

三、编写server服务端

新建server目录,新建main.go文件
目录结构如下

编写server/main.go文件

package mainimport ("context""fmt"wake_grpc2 "go_grpc_study/example_2/grpc_proto/wake_proto""google.golang.org/grpc""google.golang.org/grpc/grpclog""net"
)// 新版本 gRPC 要求必须嵌入 UnimplementedGreeterServer 结构体
type VoiceWakeServer struct {wake_grpc2.UnimplementedVoiceWakeServiceServer
}
type FaceWakeServer struct {wake_grpc2.UnimplementedFaceWakeServiceServer
}func (VoiceWakeServer) DogBark(ctx context.Context, request *wake_grpc2.Request) (pd *wake_grpc2.Response, err error) {fmt.Println("语音唤醒入参:", request.Name)pd = new(wake_grpc2.Response)pd.Sound = "汪汪汪~"return
}func (FaceWakeServer) ASlap(ctx context.Context, request *wake_grpc2.Request) (pd *wake_grpc2.Response, err error) {fmt.Println("人脸唤醒入参:", request.Name)pd = new(wake_grpc2.Response)pd.Sound = "塞班~"return
}func main() {// 监听端口listen, err := net.Listen("tcp", ":8080")if err != nil {grpclog.Fatalf("Failed to listen: %v", err)}// 创建一个gRPC服务器实例。s := grpc.NewServer()// 将server结构体注册为gRPC服务。wake_grpc2.RegisterVoiceWakeServiceServer(s, &VoiceWakeServer{})wake_grpc2.RegisterFaceWakeServiceServer(s, &FaceWakeServer{})fmt.Println("grpc server running :8080")// 开始处理客户端请求。err = s.Serve(listen)
}

具体步骤如下:

  • 1)定义2个结构体,结构体名称无所谓,必须包含pb.UnimplementedGreeterServer 对象
  • 2)实现 .proto文件中定义的API,即DogBark狗叫方法ASlap一巴掌方法
  • 3)将服务描述及其具体实现注册到 gRPC 中

四、编写Client客户端

新建client目录,新建main.go文件
目录结构如下

编写clinet/main.go文件

package mainimport ("context""fmt"wake_grpc2 "go_grpc_study/example_2/grpc_proto/wake_proto""google.golang.org/grpc""google.golang.org/grpc/credentials/insecure""log"
)func main() {addr := ":8080"// 使用 grpc.Dial 创建一个到指定地址的 gRPC 连接。// 此处使用不安全的证书来实现 SSL/TLS 连接conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials()))if err != nil {log.Fatalf(fmt.Sprintf("grpc connect addr [%s] 连接失败 %s", addr, err))}defer conn.Close()voiceClient := wake_grpc2.NewVoiceWakeServiceClient(conn)res, err := voiceClient.DogBark(context.Background(), &wake_grpc2.Request{Name: "张三",})fmt.Println(res, err)faceClient := wake_grpc2.NewFaceWakeServiceClient(conn)res, err = faceClient.ASlap(context.Background(), &wake_grpc2.Request{Name: "李四",})fmt.Println(res, err)
}

具体步骤如下:

  • 1)首先使用 grpc.Dial() 与 gRPC 服务器建立连接
  • 2)使用 wake_grpc2.NewVoiceWakeServiceClient(conn)、wake_grpc2.NewFaceWakeServiceClient(conn)初始化客户端
  • 3)通过客户端调用ServiceAPI方法voiceClient.DogBark、faceClient.ASlap

五、测试

server目录下,启动服务端

go run main.go

clinet目录下,启动客户端

go run main.go

服务端运行结果

客户端运行结果

六、示例代码

go_grpc_study:grpc学习golang版


完成ヾ(◍°∇°◍)ノ゙

http://www.hrbkazy.com/news/19909.html

相关文章:

  • 给别人做网站怎么赚钱吗北京口碑最好的教育机构
  • 网站编辑软件有哪些搜索竞价
  • 杭州手机网站制作公司seo关键词报价查询
  • 简单的电商网站用web怎么做b站2023推广网站
  • 电子商务综合实训报告网站建设小学四年级摘抄新闻
  • 自己做网站前端开发推广普通话主题手抄报
  • 做外汇消息面的网站品牌网站建设制作
  • 做wap网站营销网站模板
  • 木樨园网站建设公司郑州seo方案
  • 安防网站建设网站建设开发价格
  • 天空人体网站怎么做市场调研怎么做
  • 今日足球最新预测比分优化网站怎么真实点击
  • 地方网站怎么做挣钱开网站怎么开
  • 企业网站做优化排名象客新手做网络销售难吗
  • 包头做网站的公司招聘信息肥城市区seo关键词排名
  • 济南传承网站建设公司武汉seo服务外包
  • 做窗帘网站图片大全最新军事动态最新消息
  • 成都网站建设模版深圳网络推广公司哪家好
  • 天津手机版建站系统哪个好快速排名优化怎么样
  • 做ps彩图什么网站好发布广告的平台免费
  • 网站怎么做优化推广网络服务包括哪些内容
  • 网站建设简介电话婚恋网站排名前三
  • 免费的黄冈网站有哪些平台可以聊天呢seo网站内部优化
  • 互联网非经营性网站icp备案系统百度seo优化是做什么的
  • 网站备案信息关键词seo培训
  • 单页网站如何优化线下推广都有什么方式
  • 17做网站广州沙河百度推广好做吗
  • 网站开发实现前后端分离我想接app纯注册推广单
  • 做党和人民满意的好教师PPT网站网站查询信息
  • 福田网站建设深圳信科网站推广策划书