mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 20:15:34 +00:00
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
import argparse
|
|
import sys
|
|
import grpc
|
|
|
|
sys.path.insert(0, "../../../../../flatbuffers/python")
|
|
|
|
import flatbuffers
|
|
from models import HelloReply, HelloRequest, greeter_grpc_fb
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("port", help="server port to connect to", default=3000)
|
|
parser.add_argument(
|
|
"name", help="name to be sent to server", default="flatbuffers"
|
|
)
|
|
|
|
|
|
def say_hello(stub, hello_request):
|
|
reply = stub.SayHello(hello_request)
|
|
r = HelloReply.HelloReply.GetRootAs(reply)
|
|
print(r.Message())
|
|
|
|
|
|
def say_many_hellos(stub, hello_request):
|
|
greetings = stub.SayManyHellos(hello_request)
|
|
for greeting in greetings:
|
|
r = HelloReply.HelloReply.GetRootAs(greeting)
|
|
print(r.Message())
|
|
|
|
|
|
def main():
|
|
args = parser.parse_args()
|
|
|
|
with grpc.insecure_channel("localhost:" + args.port) as channel:
|
|
builder = flatbuffers.Builder()
|
|
ind = builder.CreateString(args.name)
|
|
HelloRequest.HelloRequestStart(builder)
|
|
HelloRequest.HelloRequestAddName(builder, ind)
|
|
root = HelloRequest.HelloRequestEnd(builder)
|
|
builder.Finish(root)
|
|
output = bytes(builder.Output())
|
|
stub = greeter_grpc_fb.GreeterStub(channel)
|
|
say_hello(stub, output)
|
|
say_many_hellos(stub, output)
|
|
|
|
|
|
main()
|