-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient.py
30 lines (24 loc) · 1.2 KB
/
client.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import grpc
import advanced_greeting_pb2
import advanced_greeting_pb2_grpc
def run():
with grpc.insecure_channel('localhost:50051') as channel:
stub = advanced_greeting_pb2_grpc.AdvancedGreeterStub(channel)
# Unary RPC
response = stub.SayHello(advanced_greeting_pb2.HelloRequest(name='World'))
print("Unary RPC response:", response.message)
# Server Streaming RPC
responses = stub.GreetManyTimes(advanced_greeting_pb2.HelloRequest(name='Stream'))
for response in responses:
print("Server Streaming response:", response.message)
# Client Streaming RPC
requests = iter([advanced_greeting_pb2.HelloRequest(name=name) for name in ["Alice", "Bob", "Charlie"]])
response = stub.LongGreet(requests)
print("Client Streaming response:", response.message)
# Bidirectional Streaming RPC
requests = iter([advanced_greeting_pb2.HelloRequest(name=name) for name in ["Dave", "Eve", "Frank"]])
responses = stub.GreetEveryone(requests)
for response in responses:
print("Bidirectional Streaming response:", response.message)
if __name__ == '__main__':
run()