Open dashjay opened 3 months ago
You can easily use command like this to access BRPC server with http proto
dd if=/dev/random of=/tmp/test bs=4M count=1
echo "{\"message\": \"$(cat /tmp/test | base64)\"}" > test.1
curl -H 'Content-Type: application/json' --data-binary "@./test.1" 0.0.0.0:8000/EchoService/Echo > /tmp/test.2
But you can not use grpc client to do this.
We encountered the same problem, how was it solved?
We encountered the same problem, how was it solved?
@wlleiiwang Hi, finally we solve this problem by invoking the HTTP interface directly, brpc server implement http interface automaticly.
Describe the bug (描述bug) When server response a big value(more than 4096K), client will get error.
I think this can be resolve by add some grpc options, but I don't know detail
To Reproduce (复现方法)
I edited the example echo client/server, client send 8M message to server and receive response result success.
https://github.com/dashjay/brpc/commit/923555a205288ebe1e0c251a4e83506e2f7a1bb4
Then when I generated a python grpc client and write a small case
server run normally:
but grpc python client:
Expected behavior (期望行为)
Get the echo value.
I found on web and get this https://groups.google.com/g/grpc-io/c/3h-Q5Vjq5aU ,I suspect this has something to do with it
Versions (各种版本) OS: Darwin FY2MY2TWDK 23.3.0 Darwin Kernel Version 23.3.0 Compiler:
Apple clang version 15.0.0 (clang-1500.3.9.4)
brpc:master
protobuf:protobuf: stable 27.1 (bottled)
Additional context/screenshots (更多上下文/截图)
BRPC server interact with BRPC client good