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


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

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

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

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

  • 2016년 04월 18일에 작성됨
    AWS, node.js, socket.io, mongoDB

조회수 211


1 답변


좋아요
1
싫어요
채택취소하기

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

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

  • 2016년 04월 18일에 작성됨
    프로그래밍 언어를 좋아하는 프로그래머

  • 감사합니다!!!! 공부를 하면서 진행하느라 무엇을 하나 하더라도 확신이 서지를 않네요...    KimTaesik   2016.4.19 00:13     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close