我正在尝试在 heroku 上部署我的 nodejs 应用程序。我无法建立 websocket 连接。我已经阅读了我能找到的所有内容,尝试了每个示例,但似乎没有一个对我有用。
当我尝试打开我的页面“heroku open”时,nodejs 正确地给了我 html 文件。但是,websocket 'ws' 连接永远不会建立。
我的 server.js 有这些配置:
var pport = process.env.PORT || 5000;
server.listen(pport, function(err) {
if(!err) { console.log("Listening on port " + pport); }
});
旁注 当我检查“heroku 日志”时,我发现我的应用程序运行的端口是一个随机的 5 位数字。(如 28896、53365 等)它实际上从未在下半场运行 || 5000。
但问题是,为了让我的 game.html 文件建立 websocket 连接,它需要知道什么端口。我已经尝试了以下客户端配置,但都没有奏效:
1)
var host = location.origin.replace(/^http/, 'ws');
this.connection = new WebSocket(host);
2)
var host = location.origin.replace(/^http/, 'ws');
host = host + ":5000";
this.connection = new WebSocket(host);
3)
this.connection = new WebSocket('ws://infinite-earth-7708.herokuapp.com/');
我也做了他们网站所说的,并在部署我的应用程序后尝试使用以下内容:
heroku config:add NODE_ENV=production
请指教