Связь между двумя хостами с grpc в python - PullRequest
0 голосов
/ 06 апреля 2019

Я написал простой скрипт на python, используя grpc, чтобы связать два процесса в localhost.Теперь я хочу установить связь двух процессов, запущенных на двух разных компьютерах.

Я пытался изменить порт и IP-адрес сервера, но не работает.

Это мой клиент:

 def run():
    if len(sys.argv) < 2:
      print("Usage : python controller_agent.py <server-ip-address>")
      exit(0)
    with grpc.insecure_channel('%s:50051' % sys.argv[1]) as channel:
      stub = controller_agent_pb2_grpc.AgentServiceStub(channel)
      message_in = input('Message : ')
      response = stub.EchoMessage(controller_agent_pb2.EchoRequest(message=message_in))
    print(response.message)

А это мой сервер:

_ONE_DAY_IN_SECONDS = 60 * 60 * 24


class RouterAgent(controller_agent_pb2_grpc.AgentServiceServicer):

    def EchoMessage(self, request, context):
        print("Echo : %s" %request.message)
        return controller_agent_pb2.EchoReply(message="Echo : %s" % request.message)


def serve():
    server = grpc.server(ThreadPoolExecutor(max_workers=10))
    controller_agent_pb2_grpc.add_AgentServiceServicer_to_server(RouterAgent(), server)
    server.add_insecure_port('[::]:50051')
    server.start()
    try:
        while True:
            time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)

Как мне изменить код, чтобы заставить работать скрипт не только на локальном хосте?

Это ошибкасообщение при попытке установить связь с удаленным хостом

...