• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 socket.request.session.passport.user.id 못찾음 문제

socket.request.session.passport.user.id 못찾음 문제

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #115507

    최재윤
    참가자
    io.on('connection', (socket)=>{
     
      socket.on('ask-join', (data)=>{
       socket.join(data)
      })
      socket.on('message-send', async (data)=>{
        await db.collection('chatMessage').insertOne({
          parentRoom : new ObjectId(data.room),
          content : data.msg,
          who : new ObjectId(socket.request.session.passport.user.id)
        })
        console.log(socket.request.session.passport)
        io.to(data.room).emit('message-broadcast', data.msg)
      })
    })
     
    이렇게 하면
    C:\Users\USER\Desktop\forum\sever.js:281
          who : new ObjectId(socket.request.session.passport.user.id)
                                                    ^
    TypeError: Cannot read properties of undefined (reading 'passport')
        at Socket.<anonymous> (C:\Users\USER\Desktop\forum\sever.js:281:49)
        at Socket.emit (node:events:518:28)
        at Socket.emitUntyped (C:\Users\USER\Desktop\forum\node_modules\socket.io\dist\typed-events.js:69:22)
        at C:\Users\USER\Desktop\forum\node_modules\socket.io\dist\socket.js:704:39
        at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
    Node.js v20.11.0
     
    이렇게 뜨는데 console.log로 확인해보면 socket.request.session.passport 여기서 undefined 라 떠요
    어떻게 해야 할까요 ?..
    
    

     

     

    #115523

    codingapple
    키 마스터
    위에 io.engine.use(sessionMiddleware) 이런거 셋팅 잘해놨나 확인합시다
    #115590

    최재윤
    참가자
    혹시 어떤 강의에 있을까요 ?
    
    
    #115608

    최재윤
    참가자
    혹시 어떤 강의에 있을까요 ?
    #115614

    codingapple
    키 마스터
    아마 강의에서 https://socket.io/how-to/use-with-express-session 이런거 참고해서 알아서 해보라고 할걸요
    #115626

    최재윤
    참가자
    감사합니다 형님
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠