Files
signal-server/signal-server.mjs
2025-09-20 12:05:29 +09:00

27 lines
803 B
JavaScript

import express from 'express';
import { WebSocketServer } from 'ws';
const app = express();
const server = app.listen(3001, () => console.log('Signal server on port 3001'));
const wss = new WebSocketServer({ server });
const peers = new Map();
wss.on('connection', (ws) => {
// const id = Math.random().toString(36).substring(2, 9);
ws.on('message', (data) => {
const msg = JSON.parse(data);
if(msg.type === 'login') {
peers.set(msg.sabun, ws);
ws.send(JSON.stringify({ type: 'your-id',id: msg.sabun }));
console.log(`${msg.sabun} connected!`);
} else if (msg.target && peers.has(msg.target)) {
peers.get(msg.target).send(JSON.stringify(msg));
}
});
ws.on('close', () => peers.delete(msg.sabun));
});