memory leaks
This commit is contained in:
@@ -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 }
|
||||||
@@ -1,19 +1,23 @@
|
|||||||
import { useState, useEffect } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
import logo from './logo.svg'
|
import logo from './logo.svg'
|
||||||
import { io } from 'socket.io-client'
|
import io from 'socket.io-client'
|
||||||
// import './App.css'
|
// import './App.css'
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
|
const [socket, setSocket] = useState();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const socket = io('ws://localhost:8000');
|
const newSocket = io("http://localhost:8000");
|
||||||
|
setSocket(newSocket);
|
||||||
|
|
||||||
socket.on('connect', ()=>console.log(socket.id))
|
return () => newSocket.close();
|
||||||
socket.on('connect_error', ()=>{
|
}, [setSocket]);
|
||||||
setTimeout(()=>socket.connect(),5000)
|
|
||||||
|
useEffect(() => {
|
||||||
|
socket.on('connection', () => {
|
||||||
|
console.log(socket.id);
|
||||||
})
|
})
|
||||||
|
}, [socket]);
|
||||||
return () => socket.close();
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="App">
|
<div className="App">
|
||||||
|
|||||||
30
index.js
30
index.js
@@ -1,29 +1,23 @@
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
const app = express();
|
|
||||||
const cors = require('cors');
|
const cors = require('cors');
|
||||||
|
|
||||||
app.use(cors());
|
|
||||||
|
|
||||||
const http = require('http');
|
const http = require('http');
|
||||||
|
|
||||||
|
const { io, connection } = require("./Connection");
|
||||||
|
|
||||||
|
const app = express();
|
||||||
|
app.use(cors());
|
||||||
const server = http.createServer(app);
|
const server = http.createServer(app);
|
||||||
|
|
||||||
const socketIO = require('socket.io');
|
const socketIOMiddleware = (req, res, next) => {
|
||||||
|
req.io = io;
|
||||||
|
next();
|
||||||
|
}
|
||||||
|
|
||||||
const io = socketIO(server, {
|
server.use('/', (req, res) => {
|
||||||
cors: {
|
res.send(connection(io(server)));
|
||||||
origin: 'http://localhost:3000'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
io.on('connection', (socket) => {
|
|
||||||
console.log('client connected: ' + socket.id);
|
|
||||||
});
|
|
||||||
|
|
||||||
app.use('/', (req, res) => {
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
app.listen(8000, (err) => {
|
server.listen(8000, (err) => {
|
||||||
if (err) console.log(err);
|
if (err) console.log(err);
|
||||||
console.log("Listening on 8000");
|
console.log("Listening on 8000");
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user