Почему мое приложение не устанавливает соединение с веб-сокетом на Heroku?

Я пытаюсь развернуть мое приложение nodejs на heroku. Я не могу установить соединение через веб-сокет. Я прочитал все, что мог найти, попробовал каждый пример, и ни один из них, похоже, не работает для меня.

Когда я пытаюсь открыть свою страницу "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); }
});

Примечание Когда я проверяю «логи герою», я обнаруживаю, что порт, на котором запущено мое приложение, является случайным 5-значным числом. (например, 28896, 53365 и т. д.) Во второй половине он никогда не запускается || 5000.

Но дело в том, что для того, чтобы мой файл game.html установил соединение с веб-сокетом, ему нужно знать, какой порт. Я пробовал следующие конфигурации клиента, ни одна не работала:

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

пожалуйста, порекомендуйте

Ответы на вопрос(1)

Ваш ответ на вопрос