add view socket

This commit is contained in:
2025-07-01 13:46:32 +00:00
parent 13bd7fdd75
commit 68a9c01027
4 changed files with 372 additions and 127 deletions

View File

@@ -20,9 +20,6 @@ getStructure({ refresh: true }).catch(console.error);
const app = express();
const server = createServer(app);
// Global boolean array
let booleanArray = new Array(10).fill(false);
// Socket.IO setup with CORS
const io = new Server(server, {
cors: {
@@ -56,35 +53,34 @@ app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(morgan("tiny"));
// Global
let data = null;
let selectedOptionId = null;
// Socket connection handling
//io.on("connection", (socket) => {
// console.log("Client connected:", socket.id);
//
// // Send current array state to newly connected client
// socket.emit("arrayChanged", booleanArray);
//
// // Handle array updates from client
// socket.on("setArrayValue", (data) => {
// const { index, value } = data;
//
// if (index >= 0 && index < booleanArray.length) {
// booleanArray[index] = value;
// console.log(`Updated index ${index} to ${value}`);
//
// // Broadcast updated array to all clients
// io.emit("arrayChanged", booleanArray);
// }
// });
//
// // Handle getting current array state
// socket.on("getArray", () => {
// socket.emit("arrayChanged", booleanArray);
// });
//
// socket.on("disconnect", () => {
// console.log("Client disconnected:", socket.id);
// });
//});
io.on("connection", (socket) => {
console.log("Client connected:", socket.id);
socket.emit("dataChanged", data);
socket.emit("selectedOptionChanged", selectedOptionId);
// Handle array updates from client
socket.on("setData", (newData) => {
data = newData;
console.log("Data changed");
io.emit("dataChanged", data);
});
socket.on("setSelectedOptionId", (newId) => {
selectedOptionId = newId;
console.log("Selected option changed to ", newId);
io.emit("selectedOptionChanged", newId);
});
socket.on("disconnect", () => {
console.log("Client disconnected:", socket.id);
});
});
app.get("/_health", (req, res) => {
res.json({ healthy: true });