运行grpc python示例必须使用sudo命令

时间:2018-11-03 07:16:46

标签: python grpc grpc-python

取决于本教程grpc basic

我将https://github.com/grpc/grpc克隆到本地

cd example/python/helloworld 启动服务器python greeter_server.py

然后启动客户端python greeter_client.py, 但出现错误

Traceback (most recent call last):
  File "greeter_client.py", line 35, in <module>
  run()
  File "greeter_client.py", line 30, in run
    response = stub.SayHello(helloworld_pb2.HelloRequest(name='you'))
  File "/usr/local/lib/python3.7/site-packages/grpc/_channel.py", line 533, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/usr/local/lib/python3.7/site-packages/grpc/_channel.py", line 467, in _end_unary_response_blocking
    raise _Rendezvous(state, None, None, deadline) grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
      status = StatusCode.UNAVAILABLE
      details = "Socket closed"
      debug_error_string = "{"created":"@1541228979.471085000","description":"Error received from peer","file":"src/core/lib/surface/call.cc","file_line":1017,"grpc_message":"Socket closed","grpc_status":14}"

然后我执行sudo python greeter_client.py,得到正确的结果。

为什么我应该添加sudo以获得正确的结果?

2 个答案:

答案 0 :(得分:1)

  1. 我发现我设置了一个全局http代理export http_proxy=http://127.0.0.1:1087,我关闭了该代理,然后找到了。

  2. 更新greeter_client.py,将localhost更改为127.0.0.1。找到我了。

答案 1 :(得分:0)

您能否尝试几种选择并分享您的反馈意见:

选项-1

clientserver中的另一个端口(50051除外)?

选项2

尝试在client中使用0.0.0.0

谢谢, Dheeraj