![](/img/trans.png)
[英]My Flask app is running on my local server, but it isn't running on Heroku. How is this possible?
[英]for a python flask web app deployed on heroku. how front end know dynamic backed server port?
问题也可能是:javascript如何获取heroku env变量PORT?
我有一个FALSK网路应用程式。 后端服务器运行如下
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
socketio.run(app, host='0.0.0.0', port=port)
我的前端客户端需要与服务器来回通信,并且我需要知道哪个端口后端正在监听。
在前端index.html中,我有下面的Java脚本
socket = io.connect('0.0.0.0:5050'+ namespace);
我的问题是,如何知道后端的动态端口?
我在Heroku上部署了我的应用程序,但无法绑定固定服务器。 我已经将我的heroku config var设置为
Config Vars
PORT: 5050
我以为每次重新部署应用程序时,都会抢占并使用该端口,但事实并非如此。 每次我重新部署时,服务器都会在随机端口上侦听。
有人可以帮忙,谢谢。
您可以使用Web客户端中的location对象来查找您需要了解的有关服务器的所有信息。
var HOST = location.origin.replace(/^http/, 'ws')
var ws = io.connect(HOST + namespace);
但是,在下面的文档中,它们显示客户端套接字在没有参数的情况下被初始化。 你有尝试过吗?
var socket = io();
我猜想使用“默认构造函数”可以实现与上述相同的功能:使用位置并更改协议。
他们还说您将启用基于会话的相似性。
这全部来自heroku套接字文档https://devcenter.heroku.com/articles/node-websockets尽管本文引用了基于节点的服务器,但其原理与flask相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.