// Erstellt den zentralen Socket.IO-Server. // Wird von timer.js, score.js und den Routen importiert, // um Events (Timer, Score, Refresh) an alle verbundenen Clients zu senden. const { Server } = require('socket.io'); // Der Server wird ohne eigenen Port erzeugt und in bin/www per io.attach() an den // HTTP-Server gehaengt. Dieses Modul wird beim Laden der Routen ausgewertet, also // bevor der HTTP-Server existiert — daher die Trennung von Erzeugen und Anhaengen. // Weil Socket.IO damit unter derselben Herkunft laeuft wie die Seite, entfaellt die // CORS-Ausnahme. const io = new Server(); // Verbindungs-Handling: der Client meldet sich beim Verbinden selbst mit dem // Socket.IO-eigenen 'connect'-Event und holt sich den aktuellen Stand ueber die // REST-Endpunkte. Serverseitig wird die Verbindung nur protokolliert. io.on('connection', (socket) => { console.log("A user connected"); socket.on('disconnect', (reason) => { console.log("A user disconnected: ", reason); }); }); module.exports = io