mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-09 22:56:27 +00:00
Working on a python example plus fixing python grpc code (#6456)
Refactored python grpc code gen Adds example server & client + fixes ci Fixes generated code Making sure we encode the reply string as utf8 Adds Readme details to clarify issue regarding encoding when python is sending/receiving
This commit is contained in:
40
grpc/examples/python/greeter/client.py
Normal file
40
grpc/examples/python/greeter/client.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import sys
|
||||
import argparse
|
||||
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()
|
||||
Reference in New Issue
Block a user