Por que meu aplicativo não estabelece conexão via websocket no Heroku?
Estou tentando implantar meu aplicativo nodejs no heroku. Não consigo estabelecer a conexão do websocket. Eu li tudo o que pude encontrar, tentei todos os exemplos e nenhum deles parece funcionar para mim.
Quando tento abrir minha página "heroku open", o nodejs está me dando corretamente o arquivo html. No entanto, a conexão 'ws' do websocket nunca é estabelecida.
Meu server.js tem estas configurações:
var pport = process.env.PORT || 5000;
server.listen(pport, function(err) {
if(!err) { console.log("Listening on port " + pport); }
});
Nota Quando eu verifico "logs heroku", acho que a porta em que meu aplicativo está sendo executado é um número aleatório de 5 dígitos. (como 28896, 53365, etc.) Ele nunca é executado na segunda metade || 5000
Mas a questão é que, para o meu arquivo game.html estabelecer uma conexão websocket, ele precisa saber qual porta. Eu tentei as configurações de cliente a seguir, nenhuma funcionou:
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/');
Também fiz o que o website deles disse e tentei usar o seguinte depois de implantar meu aplicativo:
heroku config:add NODE_ENV=production
Por favor informar