memory leaks

This commit is contained in:
2022-06-04 12:43:05 -05:00
parent 14e4b53d54
commit a9e0cba3a6
3 changed files with 45 additions and 26 deletions

View File

@@ -0,0 +1,21 @@
const socketIO = require('socket.io');
const io = (server) => {
return socketIO(server, {
cors: {
origin: "http://localhost:3000"
}
});
}
const connection = (io) => {
io.on('connection', (socket) => {
console.log(`User ${socket.id} connected`);
socket.on('disconnect', () => {
console.log(`User ${socket.id} disconnected`)
})
})
}
module.exports = { io, connection }

View File

@@ -1,19 +1,23 @@
import { useState, useEffect } from 'react'
import logo from './logo.svg'
import { io } from 'socket.io-client'
import io from 'socket.io-client'
// import './App.css'
function App() {
const [socket, setSocket] = useState();
useEffect(() => {
const socket = io('ws://localhost:8000');
const newSocket = io("http://localhost:8000");
setSocket(newSocket);
socket.on('connect', ()=>console.log(socket.id))
socket.on('connect_error', ()=>{
setTimeout(()=>socket.connect(),5000)
return () => newSocket.close();
}, [setSocket]);
useEffect(() => {
socket.on('connection', () => {
console.log(socket.id);
})
return () => socket.close();
}, []);
}, [socket]);
return (
<div className="App">

View File

@@ -1,29 +1,23 @@
const express = require('express');
const app = express();
const cors = require('cors');
app.use(cors());
const http = require('http');
const { io, connection } = require("./Connection");
const app = express();
app.use(cors());
const server = http.createServer(app);
const socketIO = require('socket.io');
const socketIOMiddleware = (req, res, next) => {
req.io = io;
next();
}
const io = socketIO(server, {
cors: {
origin: 'http://localhost:3000'
}
});
io.on('connection', (socket) => {
console.log('client connected: ' + socket.id);
});
app.use('/', (req, res) => {
server.use('/', (req, res) => {
res.send(connection(io(server)));
})
app.listen(8000, (err) => {
server.listen(8000, (err) => {
if (err) console.log(err);
console.log("Listening on 8000");
})