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
goprotoc -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
gor, 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 系統...