socket.io를 이용한 room control 질문입니다.

조회수 1957회

web messenger를 공부하면서 구현하고 있는데 현재는 접속자간의 대화는 구현을 완료했습니다. 문제는 접속자 한명이 접속을 종료(로그아웃이나 브라우저 종료)시 커넥션이 끊겨 방에서 leave가 됩니다. 그러니 재접속을 하면 room 정보가 없으니 다시 대화를 걸어야 합니다.

제가 생각을 해본것은 room에 join을 할 시에 room 정보를 db에 저장해 두었다가(room 이름이나 채팅기록) 접속시에 자기가 속해있는 room을 find해서 존재 할 시에 전부 다시 join하면서 채팅기록을 load하는 방법입니다.

아니면 다른 해결방법이나, 종료를 해도 connection을 유지하는 방법이 있는건가요?

너무 맥없는 질문 죄송하며 답변 부탁드립니다..

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    생각하신 방식이 맞습니다.

    대화가 시작되면 대화방을 생성하고 해당 대화방에 참여정보를 디비 등에 기록합니다. (방번호, 참여자들)

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 감사합니다!!!! 공부를 하면서 진행하느라 무엇을 하나 하더라도 확신이 서지를 않네요... KimTaesik 2016.4.19 00:13

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)