Я разработал программу чата с NodeJS и SocketIO.Затем я развернул сервер Heroku и обнаружил, что SocketIO не работает в Heroku.
Я уже проверил журнал в Heroku, но там ничего нет.Но странно, что он работает на локальном хосте, а не в среде Heroku.Я думаю, что есть некоторые проблемы с настройкой ПОРТА.
[Код на стороне сервера]
/* Socket IO Settings */
const server = require('http').Server(express);
const io = require('socket.io')(server);
let port = process.env.PORT || 3001;
server.listen(port, function () {
console.log(`SocketIO Listening on port : ${port}`)
});
[Код на стороне клиента]
/* Chat Functions */
var socket = io.connect(`${window.location.hostname}:3001`);
Сначала я просто использую код var socket = io.connect('http://localhost:3001');
, и он хорошо работает в Localhost Env.Но после развертывания на heroku я добавляю переменную Heroku, чтобы использовать ее в работе.
[Настройка порта]
NODEJS Server : 3000
SOCKET IO : 3001
Heroku process.env.PORT : 3001 (But When I check Heroku console it changes everytime when I reload the dynos and in Logs said me that the ports are already in use.)
Я уже прочитал Документ Heroku, но кажется, чтоЯ создаю приложение NodeJS с Express Generator. Думаю, это должно быть другое решение.Я уже пробовал документацию по герою, но она не работает