首页 > 解决方案 > heroku 在本地工作但不在服务器中显示“错误:连接到 localhost:5037”

问题描述

在我的项目中,我指的是在本地运行良好的“纯 python ADB 客户端”。但是部署后,当我尝试使用Heroku open它运行应用程序时

错误:连接到 localhost:5037 [Errno 111] 连接被拒绝。

adb 是否在您的计算机上运行?

我尝试使用 127.0.0.1 但它仍然显示错误。

def getConnected_devices(request):
    """Connect the devices via usb or WIFI through adb and get the device details dynamically and update the status of device"""


    client = AdbClient(host="localhost", port=5037)
    devices = client.devices()

在 heroku 云中应该可以正确识别 USB 连接的设备。

标签: djangopython-3.xheroku

解决方案


这里有某种误解。不完全确定在哪里。

云是与您自己的本地计算机完全不同的计算机。localhost指自己的机器。Heroku 的计算机是一台距离您可能有一千公里的机器。

除非您访问 Heroku 数据仓库并将 USB 插入托管 Django 实现的服务器,否则您的代码将无法工作,因为计算机正在搜索物理连接到该机器的东西。假设您购买了非虚拟化服务。

如果您想将数据从 USB 连接设备读取到云,您将需要重新考虑您的实施或使用您自己的本地计算机进行托管。

考虑一个像 Ngrok 这样的工具。它使您可以轻松地在家用计算机上托管 Django 服务器,然后通过 Internet 访问数据。这不是一个适合生产的解决方案,但我希望你需要的是适度的,这是一种简单而廉价的工作方式。


推荐阅读