WebSocket на Heroku ERR_CONNECTION_REFUSED

Я пытаюсь запустить приложение узла js на Heroku, используя WebSockets, Тем не менее, я не могу устранить эту ошибку (как видно в conosle браузера Chrome)

Сбой соединения WebSocket с 'wss://myappname.herokuapp.com:27225/': ошибка при установлении соединения: net::ERR_CONNECTION_REFUSED

Я использую 'wss', поскольку Heroku работает по протоколу HTTPS.

Мой код на стороне клиента:

$.get("https://myappname.herokuapp.com/port",function(data){
    port = data;
    console.log(data);
    host = 'wss://myappname.herokuapp.com:' + port + '/';
    ws = new WebSocket(host);
  });

Мой код на стороне сервера:

var WebSocketServer = require("ws").Server
var fs = require('fs');
var express = require('express'); 
var app = express();
var http = require('http');
var port = process.env.PORT || 5000;
var request = require('request');

var server = http.createServer(app);
var serverOnPort = server.listen(port);

console.log("Server listening on port ",port);

var wss = new WebSocketServer({server: serverOnPort});
console.log("websocket server created");

Любая помощь будет оценена.

Благодарю вас.

2 ответа

Похоже, я пытался сделать это с номером порта. Просто используя хост как wss://myappname.herokuapp.com/ работает хорошо.

Я тоже нашел эту проблему. Похоже, что Heroku автоматически направит номер порта. Это позволяет указывать номер порта в URL. В моем chrome это показывает ERR_CONNECTION_RESET. Это также происходит с XMLHttpRequest. Номер порта все еще нужен, когда вы тестируете с локальным хостом или другим сервером, который не является Heroku.

Другие вопросы по тегам