gpt4 book ai didi

python-3.x - Docker容器内部grpc客户端既未收到响应也未收到状态

转载 作者:行者123 更新时间:2023-12-02 21:19:07 25 4
gpt4 key购买 nike

在我的项目中,我在Docker容器内部的两个微服务之间进行了grpc通信。当客户端位于本地且服务器位于容器中时,客户端向服务器发出请求并接收响应。当我将客户端放在一个容器中并将服务器放在另一个容器中时,客户端发出请求,但既未收到响应也未收到状态。

这是我的客户:

class RoomClient:
def __init__(self, host='', port=50051):
conn_str = '{}:{}'.format(host, port)
self.channel = grpc.insecure_channel(conn_str)
self.stub = booking_pb2_grpc.BookingStub(self.channel)

# Login call this method
def rpc_run_get_all(self, request):
number = booking_pb2.AddRequest(value=request)
response = self.stub.sendAll(number)
return response

我的服务器:
class BookingServicer(booking_pb2_grpc.BookingServicer):

def sendAll(self, request, context):
response = booking_pb2.AddReply()
#response.value = send_all(request.value)
print ("chegou")
response.value = str(json_util.dumps({'response': "hello"}))
return response


def serve():

server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))

booking_pb2_grpc.add_BookingServicer_to_server(BookingServicer(), server)

print('Starting server. Listening on port 50051.')
server.add_insecure_port('[::]:50051')
server.start()

try:
while True:
time.sleep(86400)
except KeyboardInterrupt:
server.stop(0)

if __name__ == '__main__':
serve()

最佳答案

您缺少服务器的主机名或IP。如果两个容器都在同一主机上运行,​​或者将它们放在同一网络中并使用dns记录进行发现,请使用docker inspect <containerid>获取容器IP。

这是GRPC之下的层,因此任何网络调试步骤都将为您提供帮助。

关于python-3.x - Docker容器内部grpc客户端既未收到响应也未收到状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47895060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com