I'm building a forum where two users after connections can post a status then comment on them. For comments, i used socket.io .
In console i'm getting this error each few seconds :
Failed to load resource: net::ERR_CONNECTION_REFUSED
GET http://localhost/socket.io/?EIO=4&transport=polling&t=O05nump net::ERR_CONNECTION_REFUSED
How to fix this error ?
I installed express, nodemon and socket.io in my socket server:
- Socket server:
package.json
{
"name": "socket",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.3",
"nodemon": "^2.0.15",
"socket.io": "^4.4.1"
}
}
app.js
const io = require("socket.io")(4000, {
cors: {
origin: "http//localhost:3000",
},
});
io.on('connection', (socket) => {
console.log('A new user is connected !');
})
io.on('disconnect', () => {
console.log('User has left !');
});
- Front:
Also, i installed socket.io-client in client (front), then in my web page, i added this code :
import { io } from 'socket.io-client'
export default () => {
//implement socket
const socket = useRef()
useEffect(() => {
socket.current = io("ws://localhost/4000")
}, [])
return (
//some html code
)
}
- My project tree:
Project Forum
├── back
├── client
└──index.jsx
└── socket
└──package.json
└──app.js
Console Visual Studio Code: Visual studio code's console shows this only how much times i refresh browser or ctrl S the code:
[nodemon] starting 'node apde app.js'
CodePudding user response:
You added a slash instead of semi-colon:
socket.current = io("ws://localhost:4000")