...

Text file src/github.com/google/flatbuffers/grpc/examples/python/greeter/client.py

Documentation: github.com/google/flatbuffers/grpc/examples/python/greeter

     1import sys		
     2import argparse
     3import grpc
     4
     5sys.path.insert(0, '../../../../../flatbuffers/python')
     6
     7import flatbuffers
     8from models import HelloReply, HelloRequest, greeter_grpc_fb
     9
    10parser = argparse.ArgumentParser()
    11parser.add_argument("port", help="server port to connect to", default=3000)
    12parser.add_argument("name", help="name to be sent to server", default="flatbuffers")
    13
    14def say_hello(stub, hello_request):
    15    reply = stub.SayHello(hello_request)
    16    r = HelloReply.HelloReply.GetRootAs(reply)
    17    print(r.Message())
    18
    19def say_many_hellos(stub, hello_request):
    20    greetings = stub.SayManyHellos(hello_request)
    21    for greeting in greetings:
    22        r = HelloReply.HelloReply.GetRootAs(greeting)
    23        print(r.Message())
    24
    25def main():
    26    args = parser.parse_args()
    27
    28    with grpc.insecure_channel('localhost:' + args.port) as channel:
    29        builder = flatbuffers.Builder()		
    30        ind = builder.CreateString(args.name)
    31        HelloRequest.HelloRequestStart(builder)
    32        HelloRequest.HelloRequestAddName(builder, ind)
    33        root = HelloRequest.HelloRequestEnd(builder)
    34        builder.Finish(root)
    35        output = bytes(builder.Output())
    36        stub = greeter_grpc_fb.GreeterStub(channel)
    37        say_hello(stub, output)
    38        say_many_hellos(stub, output)
    39
    40main()

View as plain text