그래서 node.js에서 실시간 게임을 개발 중입니다. Redis와 Sockets.io도 사용하고 있습니다. 플레이어를 로비에 만들고 조인 할 수 있습니다 (게임 전 대화방과 같은 대화방에서 플레이어와 대화하고 게임 설정을 선택할 수 있습니다). 클라이언트는 HTML/CSS/JS로 작성되었습니다. 어쨌든 플레이어가 로비에서 끊을 때 인터페이스에 참가한 플레이어의 수를 업데이트하고 플레이어 이름을 합친 것을 알 수 있기를 바랍니다. 나는 생각했다nodej에서 어떤 사용자가 온라인 상태인지 추적하는 가장 좋은 방법은 무엇입니까?
두 가지 옵션이 있습니다 : 그것은 시간의 X 금액에 업데이트되지 않은 경우
레디 스 '키 값 타임 아웃 기능을 사용하여이 특정 필드를 제거 할 수 있습니다. 그런 다음 호스트가 DC를 확인하기 위해이 필드의 존재를 확인하게합니다. 많은 사용자가 잠재적으로 재생할 수 있기 때문에 이것이 비효율적인지 아닌지 궁금해합니다. 따라서 redis에서 많은 시간 초과 값과이 필드를 폴링하는 다른 많은 사용자가있는 것이 좋지 않습니다.
('disconnect', ..)의 sockets.io를 사용하여 필드를 업데이트 할 수 있습니다. 그러나 예를 들어 사용자가 PC가 정지하면이 이벤트가 실행되는지 확실하지 않습니다.
어쨌든 다른 아이디어도 열려 있습니다.
맞아요, 그렇다고해서 순간에도 '연결 끊김'이벤트가 해고당하는 것입니까? (구성되어있는 시간이 15 초/시간을 기다려야하는 경우에도) –