精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從0到1:帶你完整寫一個 Golang Grpc 服務

開發 后端
在 $GOPATH/src 下新建 iswbm.com 目錄及三個子目錄(client,server,proto),在終端上進入該目錄,執行如下命令創建 go.mod。

# 1. 環境準備

第一步:安裝 protoc

前往 protobuf,下載最新版的 protoc ,我下載的是 win 64

第二步:安裝 protoc-gen-go

前往 protobuf-go ,同樣下載最新版的 protoc,同樣下載的是 win 64

將下載后的 protoc.exe 和 protoc-gen-go 放到 %GOPATH%\bin\ 目錄下。

或者更簡單的方法,直接執行如下命令就可以安裝

  1. go install google.golang.org/grpc/cmd/protoc-gen-go-grpc 

第三步:下載 grpc

  1. # 安裝 grpc  
  2. go get -u google.golang.org/grpc 
  3.  
  4. # gRPC運行時接口編解碼支持庫 
  5. go get -u github.com/golang/protobuf/proto  

# 2. 項目目錄結構

在 $GOPATH/src 下新建 iswbm.com 目錄及三個子目錄(client,server,proto),在終端上進入該目錄,執行如下命令創建 go.mod

  1. mkdir $GOPATH/src/iswbm.com/{client,server,proto} 
  2. cd mkdir $GOPATH/src/iswbm.com/ 
  3.  
  4. # 設置環境變量,確保 GO111MODULE 是開啟的 
  5. go env -w GO111MODULE=auto 
  6.  
  7. # 初始化項目 
  8. go mod init 

# 3. 編寫 proto 文件

編寫 proto/simple.proto

  1. syntax = "proto3"
  2.  
  3. package proto; 
  4. option go_package ="/proto"
  5.  
  6. // 定義發送請求信息 
  7. message SimpleRequest{ 
  8.   // 參數類型 參數名稱 標識號 
  9.   string data = 1; 
  10.  
  11. // 定義響應信息 
  12. message SimpleResponse{ 
  13.   int32 code = 1; 
  14.   string value = 2; 
  15.  
  16. // 定義我們的服務(可以定義多個服務,每個服務可以定義多個接口) 
  17. service Simple{ 
  18.   rpc GetSimpleInfo(SimpleRequest) returns (SimpleResponse){}; 

在 iswbm.com 目錄下,執行如下命令

  1. protoc --go_out=. ./proto/simple.proto 
  2. protoc --go-grpc_out=. ./proto/simple.proto 

完成后,會在當前目錄下生成一個 simple 目錄,該目錄下有一個 simple.pb.go 和 simple_grpc.pb.go

# 4. 編寫 server.go

  1. package main 
  2.  
  3. import ( 
  4.     "context" 
  5.     pb "iswbm.com/proto" 
  6.     "google.golang.org/grpc" 
  7.     "log" 
  8.     "net" 
  9.  
  10. const ( 
  11.     Address string = ":8000" 
  12.     Network string = "tcp" 
  13.  
  14. // 定義我們的服務 
  15. type SimpleService struct{ 
  16.     pb.UnimplementedSimpleServer 
  17.  
  18. // 實現 GetSimpleInfo 方法 
  19. func (s *SimpleService) GetSimpleInfo(ctx context.Context, req *pb.SimpleRequest) (*pb.SimpleResponse, error) { 
  20.     data := req.Data 
  21.     log.Println("get from client: ", data) 
  22.     resp := &pb.SimpleResponse{ 
  23.         Code:  8888, 
  24.         Value: "grpc"
  25.     } 
  26.     return resp, nil 
  27.  
  28. func main() { 
  29.  
  30.     // 1.監聽端口 
  31.     listener, err := net.Listen(Network, Address) 
  32.     if err != nil { 
  33.         log.Fatalf("net.listen err: %v", err) 
  34.     } 
  35.     log.Println(Address, " net listening..."
  36.     // 2.實例化gRPC服務端 
  37.     grpcServer := grpc.NewServer() 
  38.  
  39.     // 3.注冊我們實現的服務 SimpleService 
  40.     pb.RegisterSimpleServer(grpcServer, &SimpleService{}) 
  41.  
  42.     // 4.啟動gRPC服務端 
  43.     err = grpcServer.Serve(listener) 
  44.     if err != nil { 
  45.         log.Fatalf("grpc server err: %v",err) 
  46.     } 
  47.  

完成后,先安裝依賴包

  1. go install 

執行如下命令運行服務端

  1. > go run server/server.go 
  2. 2021/07/28 18:31:42 :8000  net listening... 

# 5. 編寫 client.go

  1. package main 
  2.  
  3. import ( 
  4.     "context" 
  5.     "google.golang.org/grpc" 
  6.     "log" 
  7.     pb "iswbm.com/proto" 
  8.  
  9. const ( 
  10.     Address string = ":8000" 
  11.  
  12. func main() { 
  13.     // 1.創建于gRPC服務端的連接 
  14.     conn, err := grpc.Dial(Address, grpc.WithInsecure()) 
  15.     if err != nil { 
  16.         log.Fatalf("dial conn err: %v", err) 
  17.     } 
  18.     defer conn.Close() 
  19.  
  20.     // 2.創建grpc客戶端 
  21.     client := pb.NewSimpleClient(conn) 
  22.  
  23.     // 3.調用服務端提供的服務 
  24.     req := pb.SimpleRequest{ 
  25.         Data: "Hello,Server"
  26.     } 
  27.     resp, err := client.GetSimpleInfo(context.Background(), &req) 
  28.     if err != nil { 
  29.         log.Fatalf("resp err: %v", err) 
  30.     } 
  31.     log.Printf("get from server,code: %v,value: %v", resp.Code, resp.Value) 
  32.  

執行如下命令運行,立馬就能收到來自 server 返回的消息

  1. > go run client/client.go 
  2. 2021/07/28 18:54:35 get from server,code: 8888,value: grpc 

同時,在 server 端也會打印來自 client 端的消息

  1. > go run server/server.go 
  2. 2021/07/28 18:51:59 :8000  net listening... 
  3. 2021/07/28 18:54:35 get from client:  Hello,Server 
本文轉載自微信公眾號「Go編程時光」,可以通過以下二維碼關注。轉載本文請聯系Go編程時光公眾號。

 

責任編輯:武曉燕 來源: Go編程時光
相關推薦

2017-06-27 09:26:53

運維app開發

2021-03-10 09:52:38

開發技能架構

2019-10-22 08:12:49

消息隊列分布式系統

2025-11-05 02:11:00

2022-09-19 08:07:28

Goweb 程序

2019-10-29 15:46:07

區塊鏈區塊鏈技術

2022-06-10 14:52:46

開源項目字節跳動

2023-10-16 22:03:36

日志包多線程日志包

2016-11-28 16:23:23

戴爾

2022-05-09 08:35:43

面試產品互聯網

2025-09-04 07:40:21

Spring視頻推流系統

2020-02-25 22:00:22

機器人人工智能系統

2021-02-04 08:11:25

Redis集群架構

2021-01-26 05:13:12

錕斤拷String 二進制

2017-05-25 12:40:06

SOA微服務系統

2021-03-10 09:21:00

Spring開源框架Spring基礎知識

2021-07-01 07:03:32

開發Webpack代碼

2023-03-06 11:35:55

經營分析體系

2021-10-03 22:06:43

LinuxTar軟件

2023-03-05 23:11:07

Go語言服務
點贊
收藏

51CTO技術棧公眾號

在线精品高清中文字幕| 97精品超碰一区二区三区| 最近中文字幕日韩精品| 最新av免费在线观看| 美女国产在线| 成人高清免费观看| 奇米影视亚洲狠狠色| 久久精品国产亚洲精品2020| 91人成网站www| 麻豆疯狂做受xxxx高潮视频| 国产精品毛片av| 欧美中文字幕一二三区视频| 伊人久久在线观看| 欧美人体大胆444www| 久久99久久久欧美国产| 国内精品视频一区| 国产精品69久久久久孕妇欧美| 777久久精品| 欧美午夜片在线看| 蜜臀av色欲a片无码精品一区 | 色欧美激情视频在线| 国产精品一区二区不卡| 啪一啪鲁一鲁2019在线视频| 老熟妻内射精品一区| 在线日本高清免费不卡| 在线观看不卡av| 色欲欲www成人网站| 欧美电影h版| 亚洲激情在线激情| 亚洲精品国产精品国自产观看| 成人午夜免费在线观看| 麻豆精品一区二区| 欧美亚洲成人精品| 久久综合激情网| 99久久精品费精品国产风间由美| 日韩精品一区二区三区第95| 少妇性l交大片7724com| 精品美女一区| 在线免费精品视频| 国产婷婷一区二区三区| 中文在线手机av| 亚洲欧美综合另类在线卡通| 日韩精品av一区二区三区| 日本久久久久久久久| 亚洲午夜精品久久久久久浪潮| 亚洲第一天堂影院| 国产高清视频在线| 国产伦精品一区二区三区免费| 国产精品∨欧美精品v日韩精品| 久一视频在线观看| 欧美国产激情| 久久精品国产欧美激情| 国产精品三级在线观看无码| 久久悠悠精品综合网| 精品久久久久av影院| 爱情岛论坛亚洲自拍| 亚洲欧美一级| 欧美福利视频导航| 无尽裸体动漫2d在线观看| 日本.亚洲电影| 在线国产电影不卡| 国产九九在线视频| 欧美free嫩15| 欧美亚洲日本国产| 亚洲色图 在线视频| 欧美大片网站| 777午夜精品视频在线播放| 日韩中文字幕a| 欧美亚洲人成在线| 91麻豆精品国产无毒不卡在线观看| 在线免费观看视频黄| 日韩专区视频| 欧美一区二区三区四区五区| 激情小说欧美色图| 国产精品1luya在线播放| 亚洲缚视频在线观看| 99久久国产精| 国产欧美日韩在线一区二区| 亚洲一区av在线播放| 又嫩又硬又黄又爽的视频| 五月天激情综合网| 欧美精品video| 国产一级做a爱片久久毛片a| 老牛嫩草一区二区三区日本| 国产精品直播网红| 99久久夜色精品国产亚洲| 国产精品一二三在| 精品国产综合区久久久久久| 国产视频三级在线观看播放| 1区2区3区国产精品| 成年女人18级毛片毛片免费| 欧美黄色网页| 欧美高清视频www夜色资源网| 亚洲精品久久久久久| 亚欧日韩另类中文欧美| 中文字幕国产精品久久| 青青操国产视频| 校园春色综合网| 成人久久久久久| 少妇无码一区二区三区| 亚洲国产成人在线| 野外做受又硬又粗又大视频√| 三上悠亚激情av一区二区三区| 欧美日韩激情一区二区三区| 亚洲一区和二区| 欧美综合另类| 国产69精品久久久久9999| 国产又粗又猛又爽又| 国产成人av一区二区三区在线观看| 久久婷婷开心| www视频在线免费观看| 色婷婷亚洲精品| wwwww在线观看| 欧美午夜精彩| 97在线视频免费播放| 中文字幕激情视频| av爱爱亚洲一区| 日本道在线视频| 草民电影神马电影一区二区| 亚洲国产三级网| 国产盗摄x88av| 免费精品视频在线| 久久五月天婷婷| eeuss鲁一区二区三区| 欧美日韩精品一区二区天天拍小说| 在线天堂www在线国语对白| 国产精品久久观看| 国产成人在线一区二区| 日韩一级中文字幕| 亚洲乱码一区二区三区在线观看| 中文字幕第21页| 神马久久av| 久久久久成人网| av网站免费大全| 国产精品久久三| 国产天堂在线播放| 最新国产一区| 26uuu日韩精品一区二区| 国产黄色高清视频| 亚洲丝袜另类动漫二区| 亚洲老女人av| 久久看人人摘| 国产有码在线一区二区视频| av基地在线| 在线精品视频一区二区| 精品人妻互换一区二区三区| 日韩视频中文| 久久av一区二区三区亚洲| 91高清视频在线观看| 亚洲成人av在线播放| 免费看一级一片| 国产精品白丝jk黑袜喷水| 国产精品久久成人免费观看| 亚洲成人高清| 久久深夜福利免费观看| 国产精品一区二区三区在线免费观看 | av在线不卡网| 国产玉足脚交久久欧美| 欧美三级自拍| 日本不卡高字幕在线2019| 日本午夜在线| 日韩欧美国产视频| 99久久久无码国产精品衣服| 免费在线欧美视频| 亚洲欧美日本国产有色| 亚洲网站免费| 欧美高清在线观看| 午夜影院免费视频| 一本久道中文字幕精品亚洲嫩| 欧美特级黄色录像| 欧美aⅴ一区二区三区视频| 亚洲一区高清| 日本一区二区三区视频在线看| 欧美劲爆第一页| 国产精品高清在线| 午夜一区二区视频| 暖暖视频在线免费观看| 精品久久久久久亚洲国产300| 中文字幕免费高清视频| 男人和女人做事情在线视频网站免费观看| 亚洲图片欧美视频| 91精品小视频| 人妖欧美一区二区| 中文字幕在线乱| 豆花视频一区二区| 欧洲成人性视频| 1769视频在线播放免费观看| 欧美最新大片在线看| 你懂得在线观看| 国产成人av一区二区三区在线观看| 国产亚洲人成网站在线观看| 欧美性猛交bbbbb精品| 国产日韩视频一区二区三区| 国产免费中文字幕| 激情综合自拍| 亚洲 国产 欧美一区| 一本一道久久a久久| 亲爱的老师9免费观看全集电视剧| 北条麻妃在线| 精品国产第一区二区三区观看体验| 日韩久久中文字幕| 亚洲美女精品一区| 在线免费观看麻豆| 国产美女在线观看一区| 97成人在线观看视频| 99久久影视| 蜜桃成人在线| 亚洲码欧美码一区二区三区| 国产精品劲爆视频| 国产www视频在线观看| 综合国产在线视频| 天天操天天操天天操| 制服丝袜亚洲色图| 成人小视频在线播放| 午夜精品久久久久| 欧美精品久久久久久久久46p| 久久久久久麻豆| 亚洲色偷偷色噜噜狠狠99网| 精品亚洲欧美一区| 亚洲欧美日韩精品久久久久| 波多野结衣 作品| 精品国产午夜| 精品综合久久| 91麻豆精品激情在线观看最新| 国产精品久久99久久| 九色porny丨国产首页在线| 久久久精品电影| aaa在线观看| 亚洲区免费影片| 姝姝窝人体www聚色窝| 日韩午夜小视频| 91精品中文字幕| 欧美性生活大片视频| 久久国产黄色片| 欧美日韩国产激情| 国产无套在线观看| 九九视频精品免费| 国产精品theporn88| **国产精品| 国产精品久久久久免费a∨大胸| 美女高潮在线观看| 高清国产一区二区| 久久精品无码一区二区三区毛片| 老司机午夜精品| 鲁一鲁一鲁一鲁一av| 日本欧美韩国一区三区| 中文字幕欧美人妻精品一区| 校园春色综合网| 欧美极品欧美精品欧美图片| 亚洲在线成人| 青青青在线播放| 久久精品观看| 国产精品乱码久久久久| 久久精品道一区二区三区| www.亚洲天堂网| 性欧美videos另类喷潮| 777精品久无码人妻蜜桃| 亚洲精品视频在线观看免费 | 露出调教综合另类| 97se亚洲综合| 国产精品亚洲欧美日韩一区在线| 亚洲一区免费视频| 亚洲黄色小说视频| 久久女同精品一区二区| 波多野结衣 在线| 国产视频一区二区在线观看| 免费网站在线高清观看| 国产精品视频九色porn| 欧美女优在线观看| 亚洲欧美日韩国产综合| www日韩在线| 亚洲精品水蜜桃| 精品久久免费视频| 精品无码av一区二区三区不卡| 视频在线不卡免费观看| 亚洲精品视频一二三| 999国产精品| 蜜桃视频一区二区在线观看| 亚洲激情亚洲| 久久久久久久久久福利| 秋霞av亚洲一区二区三| 国产高清999| av中文字幕一区| 97人妻人人揉人人躁人人| 中文字幕字幕中文在线中不卡视频| 日本中文字幕免费在线观看| 亚洲成人av一区二区三区| 国产日韩久久久| 欧美成人精品1314www| 深夜福利免费在线观看| 日韩一区二区精品视频| 污视频在线看网站| 国产999在线观看| 大胆国模一区二区三区| 鲁鲁视频www一区二区| 婷婷开心激情网| 韩国欧美国产一区| 美国黄色一级视频| 欧美韩国日本不卡| 日韩一区二区三区四区在线| 天天免费综合色| 国产精品久久久久久久久久久久久久久久久久 | 91精品久久久久久久久久久久| 亚洲国产成人午夜在线一区| 久久精品黄色片| 日本韩国精品在线| av中文字幕免费在线观看| 亚洲精品99久久久久| 久热国产在线| 日本一区二区在线免费播放| 国产精品一区二区美女视频免费看| 欧美日韩综合网| 亚洲天堂久久| 999久久久精品视频| 久久久久久综合| 日本一区二区欧美| 欧美一区二区三区色| 成a人v在线播放| www天堂在线| 亚洲午夜激情免费视频| 麻豆精品一区二区三区视频| 欧美丝袜丝交足nylons172| 国产免费xxx| 蜜桃精品在线观看| 李宗瑞91在线正在播放| 亚洲国产欧美一区二区三区丁香婷| 国产情侣免费视频| 日韩av在线网| 国内在线免费视频| 91精品天堂| 久久久国产精品| 日本在线观看免费视频| 久久影院午夜论| 久草手机在线视频| 日韩国产高清视频在线| 黄色羞羞视频在线观看| 亚洲最大福利网站| 国产精品久久久乱弄| 9l视频白拍9色9l视频| 日本一区二区免费在线| 日韩中文字幕高清| 亚洲欧洲国产一区| 中文不卡1区2区3区| 久久av一区二区三区亚洲| 亚洲人成久久| 精品人妻一区二区三区日产| 一区二区三区小说| 精品久久久久久亚洲综合网站| 久久久国产精品x99av | 久久福利综合| 午夜免费看视频| 最新不卡av在线| 国产夫妻在线观看| 欧美大荫蒂xxx| 粉嫩av一区二区| 香港三级韩国三级日本三级| 91一区在线观看| 69国产精品视频免费观看| 亚洲人成电影在线| 国产亚洲一区二区手机在线观看 | 欧洲亚洲在线| 国产精品久久久av久久久| 欧美日韩国产在线观看网站| 亚洲免费一级视频| 亚洲色图欧美激情| 亚洲第九十九页| 97久久超碰福利国产精品…| 亚洲人成网站77777在线观看| 国产黄色特级片| 国产精品欧美极品| 精品国产av鲁一鲁一区| 久久人91精品久久久久久不卡| 婷婷亚洲精品| 亚洲黄色a v| 一区av在线播放| 深夜福利视频在线免费观看| 国产精品久久久久久久av大片| 亚洲成人tv| 亚洲永久无码7777kkk| 在线观看免费一区| 色屁屁www国产馆在线观看| 国内成+人亚洲| 美女视频黄久久| 免费毛片在线播放免费| 亚洲丝袜一区在线| 精品国产亚洲一区二区三区| 精品久久久在线观看| 性做久久久久久久| 欧美在线视频网站| 91视频久久| 亚洲综合第一| 国产激情在线| 亚洲va码欧洲m码| 国产欧美日韩一区二区三区在线| 老牛影视av老牛影视av| 欧美疯狂性受xxxxx喷水图片| 黄页网站大全在线免费观看| 日本在线视频不卡| 久久久久久久久久久人体| 日韩欧美在线精品|