React Socket IO не подключен к герою сервера - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь получить сервер или порт heroku, это отлично работает на localhost, но функция socket.io не работает на heroku.

это ошибка, которую я получаю на героку.

websocket.js: 120 подключение WebSocket к Ошибка 'wss: // localhost: 5000 / socket.io /? EIO = 3 & transport = websocket': Ошибка в установлении соединения: net :: ERR_CONNECTION_REFUSED p.doOpen @ websocket.js: 120

App.js

const express = require('express');
const bodyParser = require('body-parser');
const  app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var PORT = process.env.PORT || 5000;

if (process.env.NODE_ENV === 'production') {

  app.use(express.static('client/build'));

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

io.on('connection', (socket)=>{
    console.log(socket.id);

    socket.on('SEND_MESSAGE', (data)=>{
        io.emit('RECEIVE_MESSAGE', data);

    })


});

http.listen(PORT,function(){
  console.log('listening on port %s',PORT);
});

Chat.js

// this has to be something other than localhost, it needs to work vice versa.

this.socket = socketIOClient('localhost:5000');

this.socket.on('RECEIVE_MESSAGE', function(data){
    addMessage(data);
});

1 Ответ

0 голосов
/ 07 ноября 2018

Это жестко закодированный обходной путь

app.js

  this.socket = socketIOClient.connect(HEROKU_PATH_HERE, {secure: true});

   if(!this.socket){
        this.socket = socketIOClient('localhost:5000');
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...