From a2e0a65b2599267efe94d665d6305f59b225bbd5 Mon Sep 17 00:00:00 2001 From: Biswa Kalyan Bhuyan Date: Tue, 29 Apr 2025 10:47:43 +0530 Subject: feat: added initlaized the frontend and backend --- backend/src/socket/index.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 backend/src/socket/index.js (limited to 'backend/src/socket/index.js') diff --git a/backend/src/socket/index.js b/backend/src/socket/index.js new file mode 100644 index 0000000..0c25ed4 --- /dev/null +++ b/backend/src/socket/index.js @@ -0,0 +1,42 @@ +const socketIO = require('socket.io'); +const handlers = require('./handlers'); + +/** + * Initialize Socket.IO + * @param {object} server - HTTP server instance + * @returns {object} Socket.IO instance + */ +const initializeSocket = (server) => { + const io = socketIO(server, { + cors: { + origin: '*', + methods: ['GET', 'POST'] + } + }); + + // Authentication middleware for socket connections + io.use((socket, next) => { + // Simple authentication can be added here if needed + // const token = socket.handshake.auth.token; + // if (token validation logic) next(); + // else next(new Error('Authentication error')); + next(); + }); + + // Handle connection + io.on('connection', (socket) => { + console.log(`New client connected: ${socket.id}`); + + // Register event handlers + handlers.registerHandlers(io, socket); + + // Handle disconnection + socket.on('disconnect', () => { + console.log(`Client disconnected: ${socket.id}`); + }); + }); + + return io; +}; + +module.exports = initializeSocket; \ No newline at end of file -- cgit v1.2.3-59-g8ed1b