개발중이긴 한데... 이게 진짜ㅋㅋ 제가 생각해도 좀 말이 안되는거 같아서
조언좀 듣고자 글을 작성 합니다.
채팅에 기본적인 템플릿은 이러 합니다.
로그인을 하게되면 로그인ㄴ된 목록에서 추가가 됩니다.
이상태에서 다른사람이 로그인을 하게되면 가만히 있어도 알아서 추가가 되야 합니다.
이것을 양방향 통신 (socket.io)의 가장큰 특징입니다.
문제는.... 실시간으로 로그인된 사람의 목록을 추가해야 되는데.... 하....ㅋㅋ
방금전 언급됐던 로그인 했을때 실시간 목록을 예제에서
[개설된 방목록] <-- 이부분을 응용 했습니다.
이게 왜 문제가 되느냐... io.sockets.manager.rooms 이라는 socket.io의 함수? 개념에 명령어가 있습니다.
이 io.sockets.manager.rooms 는 현재 방을 만든 모든 list를 뿌려 줍니다.
즉 join(방이름) 으로 방을 생성,저장 하면
예를 들어
1개 생성시
-----------------------
join(ou);
io.sockets.manager.rooms : ou
------------------------
3개 생성시
-------------------------
join(ou);
join(ou2);
join(ou3);
io.sockets.manager.rooms : ou , ou2 , ou3
-------------------------
이런식으로 저장된걸 가져 오기 때문에 방 list를 실시간으로 가지고 올수 있습니다.
그리고 가지고 오면서 출력시 다른 곳에서 접속된 브라우저에서도 자동으로 list를 다시 출력 하게 됩니다.
이렇게 실시간으로 list를 뿌리는게 방list 형식이다 보니....
저는 로그인한 사람의 list를 뿌려야 되는데...... 이걸 어떻게 해야 하나 와...고민하다가...
로그인 했을때 사람 이름으로 방을 만들자 ... 이렇게 결론이 났습니다ㅠㅠ.....
이게 ..ㅋㅋ 제가 생각해도 참 어이가 없는거 같습니다.
로그인된 list로 만들었습니다. ( 사실상 로그인 list가 아닌 이름으로 된 방 list )
이해가 잘 되셨을지 몰르겠습니다..... 로그인된 list를 출력 할려면 어딘가에 실시간으로 로그인된 정보를
저장 해야 되는데... io.sockets.manager.rooms 를 이용한 방list로 그 로그인된 정보를 입력해서 뿌려주고 있습니다...
이게 잘 하는 방식일까요?