Экспресс-сервер socket.io теперь получает ошибку 404 - PullRequest
0 голосов
/ 07 января 2019

Я рассмотрел несколько других подобных проблем, но ни одна из них не помогла мне решить мою проблему. Недавно я начал обновлять свой личный проект, и мне пришлось перекодировать репо, когда он обнаружил, что он не работает в сети. После запуска npm i для установки моих пакетов он открывается локально, но консоль начинает заполняться этой ошибкой: http://localhost:3000/socket.io/?EIO=3&transport=polling&t=MWbrM4h 404 (не найдено)

Я попытался перейти на прослушивание по http или напрямую по io, основываясь на других ответах здесь, но без изменений. Вот мой код.

const express = require('express'),

  massive = require('massive'),
  bodyPar = require('body-parser'),
  CombatCtrl = require('./Controllers/CombatCtrl'),
  AuthCtrl = require('./Controllers/AuthCtrl'),
  EnemyCtrl = require('./Controllers/EnemyCtrl'),
  path = require('path'),
  socket_io = require('socket.io'),
  sharedsession = require("express-socket.io-session");
require('dotenv').config();
const session = require('express-session')({
  secret: process.env.SESSION_SECRET,
  resave: false,
  saveUninitialized: true
});

const app = express()

app.use(bodyPar.json())

app.use(session)

app.use(express.static(`${__dirname}/../build`));

app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, '../build/index.html'));
});

const {
  SERVER_PORT
} = process.env

const server = app.listen(SERVER_PORT, () => {
  console.log('How do you want to do this?', SERVER_PORT)
})

const io = socket_io(server)

io.use(sharedsession(session, {
  autoSave: true
}));

io.on('connection', function(socket) {
      socket.emit('start', /*emit params sent as obj*/ )

 //I have stuff in here, but it 's irrelevant to the landing page 
    }

1 Ответ

0 голосов
/ 07 января 2019

попробуйте сделать что-то подобное.

const {
  SERVER_PORT
} = process.env

const server = app.listen(SERVER_PORT, () => {
  console.log('How do you want to do this?', SERVER_PORT)
})

const io = socket_io.listen(server)

io.on('connection', function(socket) {
   console.log('connected to socket');
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...