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.