작성
·
164
0
참여자 수 표시 부분을 보다가
채팅방의 총 참여자 수가 1명일때 새로고침을 하면
최초 새로고침 시에는 참여자 수가 0 -> 1로 변환이 됩니다.
이상없습니다.
그런데 2번째 새로 고침을 하면 채팅방이 삭제되버립니다.
socket.js 의 socket.on('disconnect' .... 부분이 실행되는것 같은데..
새로고침을 하면 pug 파일의 소스에 의해 connect 가 발생하고, 그에 따라 socket.js 의 connection 이벤트에 수신되는건 알겠는데..
socket.on('disconenct' ... 이 부분은 어떻게 실행이 되는건가요?
disconnect 이벤트가 호출되는 부분이 어디인지...
그리고 왜 최초 새로고침은 참여자수를 0 => 1 로 수정하는데
2번째 새로고침 에는 disconnect 가 수행되어,
if( userConut === 0 ) 에 의해 방이 삭제되어 버리는지 모르겠습니다.
조언 부탁드립니다.
답변 3
0
참여자가 0이 될 때 disconnect 이벤트가 발생해서 socket.on('disconnect')가 실행된 겁니다. 그런데 연결된 클라이언트 소켓들은 연결이 다 끊어져 브라우저로 이벤트가 전송되지 않습니다.
0
답변 감사합니다.
그런데 어쨋든 disconnect 이벤트가 수신되어야 하는것 아닌가요? disconnect 이벤트는 어떻게 발생되어
socket.on('disconenct' ..... 이 실행된 걸까요??
0
처음 새로고침할 때 방 삭제가 이루어지는데 문제는 처음 새로고침 응답이 먼저 도착합니다. 그래서 1명으로 뜨지만 실제로는 삭제된 상태입니다. 그래서 2번째 새로고침을 할때서야 제거됩니다.