똑같이 했는데 req.session undefined가 뜨네요..
658
작성한 질문수 3
//////////////////////////////////////////
8005 번 포트에서 대기중
몽고디비 연결 성공
room 네임스페이스에 접속
새로운 room.on 접속: ::1 h6N5SLM0D46UmyPoAAAB undefined
room 네임스페이스에 접속
새로운 room.on 접속: ::1 9dyP8hILc4_NIhx_AAAD undefined
check req.sessioh.color..
req.session.color: #3a7861
room 네임스페이스 접속 해제....
check req.sessioh.color..
Mongoose: rooms.insertOne({ max: 10, _id: ObjectId("5fe9ddab4360bd497033234d"), title: '나', owner: '#3a7861', password: '', createdAt: new Date("Mon, 28 Dec 2020 13:29:15 GMT"), __v: 0}, { session: null })
check req.sessioh.color..
Mongoose: rooms.findOne({ _id: ObjectId("5fe9ddab4360bd497033234d") }, { projection: {} })
Mongoose: chats.find({ room: ObjectId("5fe9ddab4360bd497033234d") }, { sort: { createdAt: 1 }, projection: {} })
req.session.color: #3a7861
chat 네임스페이스에 접속..
referer: http://localhost:8005/room/5fe9ddab4360bd497033234d?password=
req.session undefined
chat: `${req.session.color}님이 입장하셨습니다.`, // TypeError: Cannot read property 'color' of undefined
^
TypeError: Cannot read property 'color' of undefined
답변 4
3
참고로 제가 해보니까 3버전에서 채팅방 나갈때 쓰이는 socket.adapter.rooms가 Map Object로 되어 있습니다. 값은 Set Object로 되어있고요.
const currentRoom = socket.adapter.rooms.get(roomId);
const userCount = currentRoom ? currentRoom.size : 0;
위와 같이 바꿔주셔야 채팅방 나가기가 정상적으로 돌아갈겁니다. 혹시 제가 잘못 알수도 있으니 틀렸으면 바로 잡아주세요.
3
3버전의 경우는 io.use 대신 이렇게 넣으시면 됩니다.
const wrap = middleware => (socket, next) => middleware(socket.request, {}, next);
chat.use(wrap(cookieParser(process.env.COOKIE_SECRET)));
chat.use(wrap(sessionMiddleware));
1
socket.js에서 io.use로 세션미들웨어 연결하는 부분 작성하셨나요? 작성하셨다면 혹시 socket.io가 3버전 아닌지 확인하세요. 제 강좌는 2버전 기준입니다.
리눅스 노드 설치시 패키지
0
159
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
904
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2281
2
a[title] 질문드립니다
0
375
1
리뉴얼 강의 및 공부 방법
0
581
1
jwt decode
0
1128
1
node.js 교과서 3판 질문드립니다
0
391
1
passport와 jwt
0
432
1
리뉴얼 강의
0
417
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
353
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
481
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
505
2
nunjucks res.render('error'); 작동을 안합니다.
0
511
1
질문있습니다.
0
346
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3535
1
수업자료는 어디있나요?
0
366
1
질문 있습니디
0
235
1
multer 사용시 file 외 name값은 못받나용?
0
416
1
코드 중복 부분 질문드립니다.
0
298
1
api 만드는 이유 질문드립니다.
0
286
1
Strategy의 done에 대해 질문드립니다.
0
361
1
안녕하세요 fs 권한 관련 질문드립니다
0
445
1
시퀄라이즈 연결질문...
0
492
2
res.setHeader vs res.cookie
0
1784
3





