This commit is contained in:
2025-10-20 23:01:59 +09:00
parent 7a327f2d76
commit c63d71828c

View File

@@ -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;