Files
signal-server/signal-server.mjs
2025-09-19 20:23:34 +09:00

23 lines
664 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);
peers.set(id, ws);
ws.send(JSON.stringify({ type: 'your-id', id }));
ws.on('message', (data) => {
const msg = JSON.parse(data);
if (msg.target && peers.has(msg.target)) {
peers.get(msg.target).send(JSON.stringify(msg));
}
});
ws.on('close', () => peers.delete(id));
});