В .on('disconnect', ...)
при удалении соединения из своей комнаты проверьте счет. Если счетчик был равен 1 до того, как вы его удалили, то пользователь теперь находится в автономном режиме (после того, как вы их удалите).
Если в вашем приложении несколько страниц или ваш пользователь может нажать «Обновить», вам также необходимо разрешить кратковременное отключение, а затем подключение. В этом случае, когда вы обнаружите, что количество комнат достигло нуля, вы устанавливаете таймер на некоторое небольшое время и проверяете снова. Если при срабатывании таймера счетчик все еще равен нулю, вы можете считать их автономными.
Если они просто перемещались между страницами, счетчик обнулится, а затем вернется к единице, прежде чем сработает таймер. Всякий раз, когда вы получаете событие connect
, вы очищаете любой таймер, ожидающий этого пользователя. Для этого вам нужно будет отслеживать таймер на каком-либо объекте, связанном с пользователем.