Page 545 - Nodejs 교과서 개정2판
P. 545
});
} else {
socket.to(roomId).emit('exit', {
user: 'system',
chat: `${req.session.color}님이 퇴장하셨습니다.`,
});
}
});
});
};
➊ io.use ݫࢲ٘ী ٜਝযܳ ೡ ࣻ णפ ࠗ࠙ ݽٚ ਢ ࣗ োѾ द݃ प೯ؾפ ࣁ࣌ ٜ
ਝযী ਃ ё socket.request ё socket.request.res OFYU ೣࣻܳ ੋࣻ۽ ֍ਵݶ ؾפ
ઁ socket.request ё উী socket.request.session ёо ࢤࢿؾפ
➋ socket.to(방 ই٣ ݫࢲ٘۽ ౠ ߑী ؘఠܳ ࠁյ ࣻ णפ ઑӘ ী ࣁ࣌ ٜਝয৬ 4PDLFU *
0ܳ োѾ೮ਵ۽ ਢ ࣗীࢲ ࣁ࣌ਸ ࢎਊೡ ࣻ णפ ߑী ଵৈೡ ٸ ߑী ־ҵоо ੑ೮ח दझమ
ݫदܳ ࠁշפ
➌ ࣘ ೧ઁ दীח അ ߑ ࢎۈ ࣻܳ ҳ೧ࢲ ଵৈ ࣻо ݺݶ ߑਸ ઁѢೞח )551 ਃਸ ࠁշפ T
PDLFU BEBQUFS SPPNT[방 아이디]ী ଵৈ ੋ ࣗ ࠁо ٜয णפ ଵৈ ࣻо ݺ ইפݶ ߑী
թই ח ଵৈীѱ ృ೮ח ؘఠܳ ࠁշפ
/PUF TPDLFU KT BYJPT ਃ
TPDLFU KTীࢲ BYJPT ਃਸ ࠁյ ٸח ਃо ־ҳੋী ೠ ࠁо ٜয ঋणפ FYQSFTT TFTTJPOীࢲח ࣁ࣌
ఃੋ req.signedCookies['connect.sid']ܳ ࠁҊ അ ࣁ࣌ ־ҳীѱ ࣘ೧ חܳ ౸ױפ ࠳ۄীࢲ BYJPT
ਃਸ ࠁյ ٸח زਵ۽ ఃܳ э ֍যࢲ ࠁղ݅ ࢲߡীࢲ BYJPT ਃਸ ࠁյ ٸח ఃо э ࠁղ ঋणפ
ٮۄࢲ FYQSFTT TFTTJPO ਃо ־ҳੋ ౸ױೡ ࣻ হणפ FYQSFTT TFTTJPO ౸ױೡ ࣻ ѱ ೞ۰ݶ ৈ۞࠙ ਃ
؊ী ࣁ࣌ ఃܳ ֍যঠ פ
io ёী DPPLJF QBSTFSܳ োѾೠ റ BYJPT ਃਸ ࠁյ ٸ connect.sid ఃܳ ࢸפ ః ঐഐചܳ ਤ೧ DPP
LJF TJHOBUVSF ಁఃب ࢸפ
콘솔
$ npm i cookie-signature
socket.js
const SocketIO = require('socket.io');
const axios = require('axios');
const cookieParser = require('cookie-parser');
const cookie = require('cookie-signature');