Warum baut meine App auf Heroku keine Websocket-Verbindung auf?

Ich versuche, meine nodejs-App auf heroku bereitzustellen. Ich kann die Websocket-Verbindung nicht herstellen. Ich habe alles gelesen, was ich finden konnte, habe jedes Beispiel ausprobiert und keines davon scheint für mich zu funktionieren.

Wenn ich versuche, meine Seite "heroku open" zu öffnen, gibt mir nodejs die HTML-Datei korrekt. Die WS-Verbindung des Websockets wird jedoch nie hergestellt.

Meine server.js hat diese Konfigurationen:

var pport = process.env.PORT || 5000;
server.listen(pport, function(err) {
    if(!err) { console.log("Listening on port " + pport); }
});

Randnotiz Wenn ich "Heroku-Protokolle" überprüfe, stelle ich fest, dass der Port, auf dem meine App ausgeführt wird, eine zufällige 5-stellige Zahl ist. (wie 28896, 53365, etc.) Es läuft eigentlich nie in der zweiten Hälfte || 5000.

Aber die Sache ist, damit meine game.html-Datei eine Websocket-Verbindung aufbaut, muss sie wissen, welcher Port. Ich habe die folgenden Client-Konfigurationen ausprobiert, keine hat funktioniert:

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/');

Ich habe auch getan, was auf der Website steht, und habe versucht, nach der Bereitstellung meiner App Folgendes zu tun:

heroku config:add NODE_ENV=production

Bitte beraten

Antworten auf die Frage(1)

Ihre Antwort auf die Frage