安裝外掛程式
go get github.com/golang/protobuf/protoc-gen-go
此時會在gopath的bin目錄下生成可執行檔案.protobuf的編譯器外掛程式protoc-gen-go
執行protoc命令時就會自動呼叫這個外掛程式
test/product/product.proto
syntax=
"proto3"
;// 指定proto版本
package services;
option go_package =
"../services;services"
;// 前乙個services指生成的go檔案的存放目錄,不存在會建立;後乙個services是go檔案的包名
// 定義乙個訊息型別productrequest
message productrequest
message productrespones
建立資料夾test/services
protoc --go_out=
../services product.proto # 根據product.proto檔案生成go檔案,放到../services目錄
protobuf語法
grpc服務
test/product/product.proto
syntax=
"proto3"
;package services;
option go_package =
"../services;services"
;// 前乙個services指生成的go檔案的存放目錄,不存在會建立;後乙個services是go檔案的包名
message productrequest
message productrespones
// 定義服務productservice
service productservice
建立資料夾test/services
protoc --go_out=plugins=grpc:../services product.proto # 生成go檔案
go get -u google.golang.org/grpc
test/services/productservice.go
/*
* @description:
*/package services
import
( context "context"
)type productservice struct
// 實現 product.pb.go中的介面productserviceserver
func
(this *productservice)
getproductstock
(ctx context.context, in *productrequest)
(*productrespones,
error),
nil}
test/server.go
/*
* @description:
*/package main
import
("net"
"test/services"
"google.golang.org/grpc"
)func
main()
go run server.go
grpc客戶端
把服務端生成的go檔案複製到客戶端來,把test/services/product.pb.go 複製到 grpccli/services/product.pb.go
grpccli/main.go
/*
* @description:grpc客戶端
用python處理excel檔案 1
usr bin env python3 import xlrd book xlrd.open workbook e 研究生學習 python資料 實驗資料 excel檔案實驗資料 sowc 2014 stat tables table 9.xlsx sheet book.sheet by name ...
用nodejs處理檔案上傳 1
1 安裝外部模組node formidable 本模組的具體細節請參考它很好的抽象了解析上傳檔案的細節,使我們可以像處理post資料一樣來處理上傳的檔案。我們用nmp來安裝formidable模組 c users npm install formidable formidable 1.0.15 no...
用socket實現的檔案伺服器 1
public class forumfileclient catch exception e private socket socket private bufferedreader in private printwriter out public forumfileclient catch ex...