| 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() |