From c63d71828cfbacbb4ae727c968ba3b7a23d95c10 Mon Sep 17 00:00:00 2001 From: bangae1 Date: Mon, 20 Oct 2025 23:01:59 +0900 Subject: [PATCH] asdf --- server.js | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/server.js b/server.js index 576f1e1..0c2d0c9 100644 --- a/server.js +++ b/server.js @@ -31,12 +31,12 @@ io.on('connection', (socket) => { }); // 2. 관리자가 연결 요청 - socket.on('requestControl', ({ targetId, offer, displayId }) => { + socket.on('requestControl', ({ displayId, targetId }) => { + console.log('requestControl', targetId, displayId); const targetSocketId = employeeSockets.get(targetId); if (targetSocketId) { - io.to(targetSocketId).emit('controlRequest', { - from: socket.id, - offer, + io.to(targetSocketId).emit('responseControl', { + targetId: socket.id, displayId // 선택된 디스플레이 ID 전달 }); } else { @@ -47,11 +47,9 @@ io.on('connection', (socket) => { // 2.5. 관리자가 디스플레이 목록 요청 socket.on('requestDisplays', (employeeId) => { - console.log('requestDisplays', employeeId); const displays = employeeDisplays.get(employeeId); - console.log('requestDisplays', displays); if (displays) { - socket.emit('availableDisplays', displays); + socket.emit('responseDisplays', {displays}); } else { socket.emit('error', `직원 ${employeeId}의 디스플레이 정보가 없습니다.`); } @@ -90,6 +88,24 @@ io.on('connection', (socket) => { console.log(`디스플레이 목록 저장됨: ${socket.employeeId}`, displays); } }); + + socket.on('offer', (data) => { + console.log('offer', employeeSockets, data.targetId); + if(data.targetId) { + const to = io.to(data.targetId) + data.targetId = socket.id + to.emit('offer', data); + } + }) + + socket.on('answer', (data) => { + console.log('answer', employeeSockets, data.targetId); + if(data.targetId) { + const to = io.to(data.targetId) + data.targetId = socket.id + to.emit('answer', data); + } + }) }); const PORT = process.env.PORT || 3001;