inflearn logo
강의

講義

知識共有

Node.js 教科書 - 基本からプロジェクト実習まで

리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문

解決済みの質問

922

junek3

投稿した質問数 5

0

socket.request.session에서는 color에 접근할 수 없기때문에

app.js에서 sessionMiddleware를 따로 분리하여 socket.js에 넘겨주어

socket.request.session에서 color 속성에 접근할수 있게 했는데

"Cannot read property 'color' of undefined" 오류가 발생하는네요 원인을 모르겠습니다

제가 코드를 잘못작성한것 같아서 github 코드를 참고하여 수정해봤는데도 계속 이런 현상이 나타나네요

콘솔로 socket.request.session을 찍어보는데 아예 undefined가 출력되는걸 봐서 socket.request.session에

request.session이 전달되지 않는것 같습니다

https://socket.io/docs/v3/faq/index.html

혹시 express-session에 접근할 수 있는 다른 방법이 있나 공식문서를 참고해봤는데 강의내용과 다르지 않더라구요

더 찾아본 결과 express-socket.io-session 라이브러리가 존재하는걸 확인했는데 이걸 사용해야 하나 고민입니다

nodejs mongodb mysql javascript

回答 6

4

zerocho

io.use 부분을 다음으로 대체하시면 됩니다.

const wrap = middleware => (socket, next) => middleware(socket.request, {}, next);
chat.use(wrap(cookieParser(process.env.COOKIE_SECRET)));
chat.use(wrap(sessionMiddleware));

0

wodbs125

혹시 해결됐나요?? 저도 같은 오류로 헤매다가 여기를 발견해서 댓글 남겨둬요

0

zerocho

확인해보겠습니다~ 저도 책 때문에 소스코드 수정이 필요하네요 ㅠㅠ

0

junek3

2버전에서는 아무 오류없이 정상동작합니다.

3버전으로 업데이트되면서 변경된 부분이 있는것 같아서 공식문서상에서 찾아보고 있는데 쉽지 않네요 

0

junek3

답변 감사합니다. 일단 2버전으로 다운그레이드 해서 진행해볼게요

0

zerocho

제 강좌에서는 socket.io 2버전을 사용했습니다. 3버전에서도 같게 동작하는지 저도 한 번 확인해보아야겠습니다.

실제 서비스에서도 cluster를 사용하나요?

1

313

2

캐싱에 관하여

0

278

3

salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?

0

345

1

게시물 올리기 오류

0

407

1

캐슁 이후 로그인창

0

266

1

kakao passport 질문있습니다.

0

493

3

global객체 공유 질문드립니다.

1

417

1

서버가 죽어버리네요

0

1047

8

포링키 문제..

0

234

2

커넥션 플래시 설치문제

0

216

2

익스프레스 제너레이터? 설치문제

0

2585

6

redis 질문입니다.

0

305

1

9장 세션을 DB에 저장시 리다이렉션 오류 발생

0

873

8

프레임워크 선택에 관하여 질문이 있습니다.

0

300

3

시퀄라이즈 질문입니다 ! !

0

588

1

oAuth 질문입니다.

0

356

3

GCP 질문입니다.

0

366

1

Passport 모듈 로그인 구현관련

0

720

6

카카오 로그인 관련 질문입니다!!

0

606

4

스스로 해보기 10-16 nunjuncks 질문있습니다

0

498

5

제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.

0

316

2

gif채팅방 nunjucks관련 질문입니다!

0

336

3

현영님 몽고db관련 질문입니다.

0

232

3

github 코드 질문있습니다

0

154

1