Проблема развертывания Heroku с Socket.io .... 404 не найдена.Проблема с пространством имен? - PullRequest
0 голосов
/ 23 сентября 2019

Я просмотрел множество страниц стека и не могу найти решение, несмотря на множество вариантов.

Я создаю многопользовательскую игру с socket.io и выражаюсь в реакции.Используя функцию пространства имен в файле socket.io.

Мой код работает в локальной среде, и я могу заполнить комнаты пространства имен, чтобы пользователи могли подключаться к ним и играть в игру.Тем не менее, я загрузил на heroku и теперь я получаю:

=GET path="/socket.io/?EIO=3&transport=polling&t=MrVg7lq" host=myherokudomain.com

с сервера, поэтому мое соединение разрывается, но не находит нужную комнату.

Код сервера выглядит следующим образом:

const app = express();

app.use(cors({ credentials: true, origin: 'http://localhost:3000' }));

app.use(express.json());

const server = app.listen(8080, () => {
  console.log('server is running on port 8080');
});

io = socket(server);

// ROOM 1

const room1 = io.of('/room1');

room1.on('connection', socket => {
  socket.emit('RECEIVE_MESSAGE', { author: 'Server', message: 'Hi you are connected!' });
});

В index.js на стороне сервера у меня есть следующие настройки частично для базы данных:

const mongoose = require('mongoose');
const app = require('./src/app');

mongoose.connect(process.env.DATABASE_CONN, { useNewUrlParser: true }, () => {
  app.listen(process.env.PORT || 3001);
});

Вклна стороне клиента у меня следующее:

this.socket = io('https://myherokudomain.com/room1');

Куда я иду не так?Мне потребовалось два дня, чтобы разобраться в этом, и я больше не буду двигаться вперед.

Любые вопросы, пожалуйста, задавайте и любую помощь, с благодарностью получили!

Спасибо.

1 Ответ

0 голосов
/ 23 сентября 2019

Heroku автоматически настраивает порты.

Попробуйте

const server = app.listen(8080 || process.env.PORT, () => {
  console.log('server is running on port 8080');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...