Вопрос

Как проще всего проверить, подключен ли пользователь к сети, и отобразить список онлайн-пользователей?

Единственный способ, с помощью которого я могу думать, - это какой-то периодический сервер опроса, чтобы обновить метку времени последнего действия , и когда последняя метка времени больше, чем xx назад, пользователь считается отключенным. Но это не кажется слишком эффективным решением.

Это было полезно?

Решение

Authlogic может сделать это по умолчанию, и это отличная система аутентификации, которая является очень мощной. Я бы предложил перенести вашу текущую систему аутентификации на нее (может быть, стоит потраченных дней, в зависимости от того, как настроена ваша система).

Если вы не можете (или просто не хотите) переместить свое приложение в Authlogic, вы можете проверить исходный код по ссылке выше, а также пример проекта здесь .

Другие советы

Вы можете проверить время сеанса, если используете хранилище сеансов базы данных. Когда updated_at проходит через определенное время, предположим, что пользователь больше не активен. Однако это может быть проблематично.

Честно говоря, это довольно сложный сценарий, чтобы определить активное число пользователей без какой-либо формы периодического опроса сервера. Ваша мысль не плохая.

Мы можем составить список пользователей в Интернете, использующих хранилище сеансов активной записи. Посетите это приложение github https: / /github.com/mohanraj-ramanujam/online-users

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top