grpc初使用全攻略

2021-10-05 08:46:46 字數 2158 閱讀 9887

grpc裡的客戶端可以像呼叫本地物件一樣,直接呼叫另一台機器上服務端的應用

通過protocol buffers定義乙個rpc服務

建立乙個實現這個介面的服務端

訪問服務端

1) 定義乙個服務

}
2) 生成grpc**

python

protoc -i …/…/protos --python_out=. --grpc_out=. --plugin=protoc-gen-grpc=which grpc_python_plugin…/…/protos/helloworld.proto

go
protoc -i …/protos …/protos/helloworld.proto--go_out=plugins=grpc:helloworld

3)寫服務來訪問

python

用我們的激動人心的訊息構建並填充乙個在我們介面定義的 helloreply 應答物件。

將 helloreply 返回給客戶端。

go

// server is used to implement helloworld.greeterserver.

type server struct

// sayhello implements helloworld.greeterserver

func

(s *server)

sayhello

(ctx context.context, in *pb.hellorequest)

(*pb.helloreply,

error),

nil}

用我們的激動人心的訊息構建並填充乙個在我們介面定義的 helloreply 應答物件。

將 helloreply 返回給客戶端。

4) 服務端實現

python

- greeter_server.py

```python

server = helloworld_pb2.beta_create_greeter_server(greeter())

server.add_insecure_port('[::]:50051')

server.start()

try:

while true:

time.sleep(_one_day_in_seconds)

except keyboardinterrupt:

server.stop()

```

go

5) 寫乙個客戶端

python

go

const

( address =

"localhost:50051"

defaultname =

"world"

)func

main()

defer conn.

close()

c := pb.

newgreeterclient

(conn)

...}

6) 呼叫rpc

建立並填充乙個 hellorequest 傳送給服務。

我們用請求呼叫存根的 sayhello(),如果 rpc 成功,會得到乙個填充的 helloreply ,從其中我們可以獲得 greeting

python

response = stub.sayhello(helloworld_pb2.hellorequest(name=

'you'

), _timeout_seconds)

print

"greeter client received: "

+ response.message

go
r, err := c.

sayhello

(context.

background()

,&pb.hellorequest

)if err !=

nillog.

printf

("greeting: %s"

, r.message)

參考鏈結

PcAnywhere使用全攻略

一聽名字就知道 pcanywhere 是什麼意思了,pcanywhere是一套老牌遠端控制軟體,可執行在windows95 98 nt 2000 me下。使用者可以通過主控或被控的方 式,遠端管理已連線上網際網路或內聯網的計算機,而且管理方式為what s you see what s you ge...

測試全攻略

include class1.h include include cppunit testrunner.h include cppunit testresult.h include cppunit testresultcollector.h include cppunit extensions he...

Ubuntu 藍芽全攻略

ubuntu 的藍芽支援相信很多同學都在使用吧,插上就用,連個手機傳個檔案啊什麼的非常方便。但是你有沒有想過壓榨出其更大的潛能呢?有沒有想過坐到電腦前,開啟藍 牙連上手機,戴上耳麥,直接就通過電腦來接打 了呢?或者連上你的 ipod touch,聲就從電腦的音箱中飄出了呢?當然,windows 系統...