UNPKG

@andreabiagini5/applicazioni-e-servizi-web-project

Version:
85 lines 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initializeIO = initializeIO; exports.getIO = getIO; exports.emitToRoom = emitToRoom; exports.socketsLeave = socketsLeave; exports.getPlayerSockets = getPlayerSockets; exports.registerPlayerSocket = registerPlayerSocket; exports.getPlayerSocket = getPlayerSocket; exports.getSocketUsername = getSocketUsername; exports.removePlayerSocket = removePlayerSocket; const socket_io_1 = require("socket.io"); let io; function initializeIO(server) { if (process.env.NODE_ENV === 'production') { let protocol = 'http'; let ip = 'localhost'; let port = '4173'; if (process.env.DOCKER) { protocol = process.env.CLIENT_PROTOCOL; ip = process.env.CLIENT_IP; port = null; } const origin = `${protocol}://${ip}${!port ? '' : ':' + port}`; console.log('CORSSSSSSSSSSS SOCKET', origin); io = new socket_io_1.Server(server, { cors: { origin, credentials: true, }, }); } else { io = new socket_io_1.Server(server, { cors: { origin: 'http://localhost:5173', credentials: true, }, }); } } function getIO() { return io; } function emitToRoom(room, event, ...data) { if (io.sockets.adapter.rooms.get(room) != undefined) { io.to(room).emit(event, ...data); } else { io.of('/auth') .to(room) .emit(event, ...data); } } function socketsLeave(room) { if (io.sockets.adapter.rooms.get(room) != undefined) { io.socketsLeave(room); } else { io.of('/auth').socketsLeave(room); } } const playerSockets = new Map(); function getPlayerSockets() { return playerSockets; } function registerPlayerSocket(username, socket) { playerSockets.set(username, socket); } function getPlayerSocket(username) { return playerSockets.get(username); } function getSocketUsername(socket) { let ret = undefined; playerSockets.forEach((sock, username) => { if (socket == sock) { ret = username; } }); return ret; } function removePlayerSocket(username) { playerSockets.delete(username); } //# sourceMappingURL=socket.js.map