2025-06-14 15:07:58 +02:00

37 lines
1.0 KiB
TypeScript

import { WebSocket } from "ws";
let cliId = 1;
function newClient(room, interval) {
const id = cliId++;
let messageId = 0;
console.log(`Client #${id} room is`, room)
const ws = new WebSocket(`ws://localhost:8080/${room}`);
ws.addEventListener("open", () => {
ws.addEventListener("message", ev => {
console.log(`[Client#${id}] Received message:`, ev.data.toString());
});
const int = setInterval(() => {
console.log(`[Client#${id}] Sending message ${messageId}`);
ws.send(`Message#${messageId++} from Client#${id}`);
}, interval);
ws.addEventListener("close", () => {
console.log(`[Client#${id}] Closed`);
clearInterval(int);
});
});
return ws;
}
const user1 = newClient("foo", 900);
const user2 = newClient("bar", 500);
const user3 = newClient("foo", 400);
const user4 = newClient("bar", 800);
setTimeout(() => {
user1.close();
user2.close();
user3.close();
user4.close();
}, 4000);