Page 540 - Nodejs 교과서 개정2판
P. 540
ઁ ࢲߡ TPDLFU KTী ਢ ࣗ ߮ܳ োѾפ
socket.js
const SocketIO = require('socket.io');
module.exports = (server, app) => {
const io = SocketIO(server, { path: '/socket.io' });
➊
app.set('io', io);
➋
const room = io.of('/room');
const chat = io.of('/chat');
➌
room.on('connection', (socket) => {
console.log('room 네임스페이스에 접속');
socket.on('disconnect', () => {
console.log('room 네임스페이스 접속 해제');
});
});
➍
chat.on('connection', (socket) => {
console.log('chat 네임스페이스에 접속');
const req = socket.request;
const { headers: { referer } } = req;
const roomId = referer
.split('/')[referer.split('/').length - 1]
.replace(/\?.+/, '');
socket.join(roomId);
socket.on('disconnect', () => {
console.log('chat 네임스페이스 접속 해제');
socket.leave(roomId);
});
});
};
➊ app.set('io', io)۽ ۄఠীࢲ io ёܳ ॶ ࣻ ѱ ೧نפ req.app.get('io ۽ Ӕೡ ࣻ ण
פ
➋ ࠁח ݫࢲ٘ੋ ofо णפ 4PDLFU *0ী ֎झಕझܳ ࠗৈೞח ݫࢲ٘ੑפ 4PDLFU *0ח ӝࠄ
ਵ۽ ֎झಕझী ࣘೞ݅ of ݫࢲ٘ܳ ࢎਊೞݶ ܲ ֎झಕझܳ ٜ݅য ࣘೡ ࣻ णפ
э ֎झಕझՙܻ݅ ؘఠܳ ׳פ