added socket.io

This commit is contained in:
2024-05-03 01:26:52 +02:00
parent 95b4849200
commit b2bfc77ca3
9 changed files with 1246 additions and 234 deletions

View File

@ -1,24 +1,31 @@
import * as dotenv from 'dotenv';
import express from 'express';
import http from 'http';
import { Server } from 'socket.io';
import dotenv from 'dotenv';
dotenv.config();
import WebSocket from 'ws';
import * as process from "node:process";
const app = express();
const server = http.createServer(app);
const io = new Server(server, {
cors: {
origin: '*',
}
});
const wss = new WebSocket.Server({ port: process.env.SERVER_PORT });
app.get('/', (req: express.Request, res: express.Response) => {
res.send('<h1>Hey Socket.io</h1>');
});
console.log(`Server started on port ${process.env.SERVER_PORT}`);
wss.on('connection', (ws: WebSocket) => {
console.log('New client connected');
ws.on('message', (message: string) => {
console.log(`Received message: ${message}`);
wss.clients.forEach((client) => {
client.send(`Server received your message: ${message}`);
});
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
ws.on('close', () => {
console.log('Client disconnected');
});
const PORT = process.env.SERVER_PORT || 3000;
server.listen(PORT, () => {
console.log(`listening on *:${PORT}`);
});