first commit

This commit is contained in:
Loi Phan
2025-08-20 16:33:11 +07:00
commit 13caefcbb3
20 changed files with 4218 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
const { WebSocketServer } = require('ws');
const { createServer } = require('http');
const server = createServer();
const wss = new WebSocketServer({ server });
wss.on('connection', (ws) => {
console.log('Client connected');
// Send welcome message
ws.send(JSON.stringify({
type: 'welcome',
message: 'Connected to WebSocket server!',
timestamp: new Date().toISOString()
}));
// Handle incoming messages
ws.on('message', (data) => {
try {
const message = JSON.parse(data.toString());
console.log('Received:', message);
// Broadcast to all connected clients
wss.clients.forEach((client) => {
if (client.readyState === 1) { // WebSocket.OPEN
client.send(JSON.stringify({
type: 'broadcast',
message: message.message,
sender: message.sender || 'Anonymous',
timestamp: new Date().toISOString()
}));
}
});
} catch (error) {
console.error('Error parsing message:', error);
}
});
ws.on('close', () => {
console.log('Client disconnected');
});
ws.on('error', (error) => {
console.error('WebSocket error:', error);
});
});
const PORT = process.env.WS_PORT || 8080;
server.listen(PORT, () => {
console.log(`WebSocket server started on port ${PORT}`);
});
module.exports = { wss };