Я создал чат с помощью socket.io в своем приложении express, и он нормально работает на локальном хосте, когда я развернул свое приложение на heroku. Я получаю эту ошибку, когда открываю чат
GET http://localhost:5000/socket.io/?EIO=3&transport=polling&t=N1PV-tt net::ERR_CONNECTION_REFUSED
вот мой индекс. js файл
var express = require("express")
var cors = require("cors")
var bodyParser = require("body-parser")
var app = express()
var mongoose = require("mongoose")
//var http = require('http').createServer(app);
var io = require('socket.io')(http)
var port = process.env.PORT || 5000
var server = app.listen(port);
var io = require('socket.io').listen(server);
var http = require('http');
let users = [];
let messages = [];
let index = 0;
app.use(bodyParser.json())
app.use(cors())
app.use(bodyParser.urlencoded({ extended: false }))
const mongoURI = 'mongodb+srv://1920:1920@cluster0-qyzs9.mongodb.net/liebherr?retryWrites=true&w=majority'
mongoose.connect(mongoURI, { useNewUrlParser: true })
.then(() => console.log("MongoDB Connected"))
.catch(err => console.log(err))
var Users = require("./routes/Users")
app.use("/users", Users)
//Socket connection
io.on('connection', (socket) => {
io.emit('noOfConnections', Object.keys(io.sockets.connected).length)
socket.on('disconnect', () => {
console.log(`a user has left the chat.`);
io.emit('noOfConnections', Object.keys(io.sockets.connected).length)
})
socket.on('chat-message', (msg) => {
socket.broadcast.emit('chat-message', msg)
})
socket.on('typing', (data) => {
socket.broadcast.emit('typing', data)
})
socket.on('stoptyping', () => {
socket.broadcast.emit('stoptyping')
})
})
// Static folder
app.use(express.static(__dirname + '/public/'));
app.get(/.*/);
и вот пакет. json файл
{
"name": "express-demo",
"version": "1.0.0",
"description": "This is a full stack application",
"engines": {
"node": "13.1.0"
},
"main": "index.js",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
"author": "Farouk Turki",
"license": "ISC",
"dependencies": {
"bcrypt": "^3.0.7",
"body-parser": "^1.19.0",
"cors": "^2.8.5",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mongodb": "^3.5.2",
"mongoose": "^5.8.9",
"nodemon": "^2.0.2",
"socket.io": "^2.3.0"
}
}
Все работает нормально, кроме чата, поэтому мне нужно знать, почему он все еще использует порт 5000 в localhost