django - 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 连接的设备。
解决方案
这里有某种误解。不完全确定在哪里。
云是与您自己的本地计算机完全不同的计算机。localhost
指自己的机器。Heroku 的计算机是一台距离您可能有一千公里的机器。
除非您访问 Heroku 数据仓库并将 USB 插入托管 Django 实现的服务器,否则您的代码将无法工作,因为计算机正在搜索物理连接到该机器的东西。假设您购买了非虚拟化服务。
如果您想将数据从 USB 连接设备读取到云,您将需要重新考虑您的实施或使用您自己的本地计算机进行托管。
考虑一个像 Ngrok 这样的工具。它使您可以轻松地在家用计算机上托管 Django 服务器,然后通过 Internet 访问数据。这不是一个适合生产的解决方案,但我希望你需要的是适度的,这是一种简单而廉价的工作方式。
推荐阅读
- python - 如何将此时间序列转换为 UTC?
- scala - lambda function does not capture the surrounding variable
- r - 建模收益递减的最佳函数
- vue.js - 无法使用 prop 值进行组件数据初始化工作
- postgresql - How to create text search configuration if not exists on PostgreSQL?
- sonarqube - Sonarqube 忽略测试文件
- xamarin - How to bind a nested Layout with external ContentView in Xamarin.Forms?
- python - 换行符/代码 \r\n \r\n 在文本之前显示
- javascript - 如何从嵌套集合模型中的对象数组生成嵌套对象数组?
- java - 如何根据区域设置格式化数字,同时保留所有小数点?