|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 9
|
|
users online в данный момент времени?19.05.2011, 06:59. Показов 3618. Ответов 14
Метки нет (Все метки)
Столкнулся с проблемой определения точного числа пользователей он-лайн в данный момент времени.
Я могу узнать кто проявился он-лайн за последние 5 секунд. За минуту и т.п. Но как узнать, что юзер в данный момент находится на сервере? Что его браузер _сейчас_ просматривает сайт? Хотел считать по сессиям - но они не удаляются. Когда я закрываю браузер и открываю свою страницу по новой - для меня создается новая сессия. старая же сессия (файл) не удаляется. Она остается. Появляются лишние сессии и соответственно лишние пользователи. Подскажите, пожалуйста, алгоритм определения кто он-лайн _сейчас_... Или скажите, в какую сторону копать.
0
|
|
| 19.05.2011, 06:59 | |
|
Ответы с готовыми решениями:
14
Как определить, сколько в данный момент пользователей? Как настроить время ? показывает- 10:49:37 а данный момент 23:50 Проверка, запущен ли в данный момент определенный процесс (linux) |
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 19.05.2011, 11:08 | |
|
http://valeo-shkola.kiev.ua/?stat=7&pws=1
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 9
|
|
| 19.05.2011, 16:08 [ТС] | |
|
Спасибо за помощь, но...
Я уже пользовался этой ссылкой, перед тем как задать вопрос. Этот скрипт позволяет узнать он-лайн юзверей за посл NN сек. Т.е. если он в течении 10 сек не проявился - то он офф-лайн. Такой счетчик на странице - это каждые 10 сек щелкание рефреша в IE. Это не есть гуд. Может быть какой-нибудь демон? Возможно я неправильно понимаю значение этого термина... есть ли возможность установить соединение с клиентом и терять его при закрытии браузера? Как например чаты с непрерывной загрузкой? Посылать пинг каждые 10 сек - живой - он-лайн, дохлый - офф-лайн. В принципе результат тот же, что и в предлогаемом тобой варианте, но без рефреша.
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 19.05.2011, 16:25 | |
|
на той же странице ты можешь увидеть этот счётчик, если он тебе не нравится или не устраивает - пиши свой
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 19.05.2011, 16:25 | |
|
обновляется кстати не вся страница, а сам счётчик
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 9
|
|
| 19.05.2011, 21:39 [ТС] | |
|
я в кусре, что обновляется только счетчик. но когда фрейм обновляется 1) проскальзывает индикатор заргузки и 2) IE щелкает. Это так раздражает пользователей.
МНЕ НЕ НУЖЕН ГОТОВЫЙ СЧЕТЧИК. Я в любом случае буду писать свой. Мне нужна идея и ответ на вопрос: Можно ли средствами PHP & Apache узнать точное число _активных_ в данный момент пользователей.
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 19.05.2011, 21:56 | |
|
можно, есть два варианта:
1. делаешь бесконечный цикл с каждым кругом которого очищается буфер. Тогда эта полоска всегда будет синей, как в чатах. 2. делаешь как сказал я, обновляется только счётчик за тобой условленное время.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 9
|
|
| 20.05.2011, 01:22 [ТС] | |
|
а какже максимальное время исполнения цикла?..
наверно я все же буду пользоваться принципом твоего счетчика... если ничего не узнаю. спасибо.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 9
|
|
| 20.05.2011, 01:24 [ТС] | |
|
сорри, не цикла, а скрипта. пишу одно, думаю о другом...
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 20.05.2011, 11:18 | |
|
вот пример стриам-потока, который испольузется в чатах.
<? set_time_limit(0); ignore_user_abort(true); //нужно для того чтобы можно было потом определить онлайн юзвер или нет $FileName='chat/1.txt'; function getline($number) { global $FileName; $file = file($FileName); if (@$file[$number]) $lines = $file[$number]; else $lines = false; if ($lines) return $lines; else return 'noline' } $i = 0; ?> <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'> <html> <head> <title>Chat</title> <META http-equiv=Content-Type content='text/html; charset=windows-1251'> </head> <body> <? while (true) { $line = getline($i); if ($line != 'noline') { echo $i.' - '.$line.'<br />'; $i++; sleep(0); } else { sleep(2); } flush(); if (connection_status()!=0){ // тут пишем в базе, что чаттер уже ушел на покой ... и останавливаем скрипт die(); } } ?> с этой строкой советую быть поосторожнее ignore_user_abort(true); если ты бдешь использовать эту строку в скрипте, то тебе нужно обязательно где-то в скрипте насильно этот скрипт останавливать, иначе он будет работать пока ты или админ хостинга насильно не убьёт процесс. Я когда-то напоролся на эти грабли, скрипт работал три дня, пришлось связываться с админом хостинга и просить чтобы он консольно убил процесс, у меняна хостинге нет консольного shell-доступа.
0
|
|
|
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
|
|
| 20.05.2011, 14:44 | |
) Всем привет.Можно убить процесс и самому. обычно это так: system('killall php'); или system('kilall httpd'); //могу ошибиться. А вообще лучше сначало: system('ps'); узнать номер процесса и потом уже по этому номеру pid system('kill pid');. Это так, для информации.
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 20.05.2011, 16:05 | |
|
пасиб vers, не знал!!!!!!!!!!!
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 9
|
|
| 20.05.2011, 18:28 [ТС] | |
|
Пока крутится бесконечный цикл в хидден фрейме, мозилла показывает курсор 'progress'...
не подскажите, как это можно избежать? body {cursor: default;} не помогло.
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 20.05.2011, 18:47 | |
|
думаю никак, я вообще заметил, что когда я на firefox захожу в подобный чат, у меня сообщения грузятся не без мигания экрана, а так как если бы я обновлял фрейм. С чем это связано не знаю!
http://bizarre.tsua.net вот подобный чат, можешь проверить
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 9
|
|
| 21.05.2011, 01:09 [ТС] | |
|
к сожалению он у меня уже пятую минуту не может открыться. не в фоксе, не в ИЕ. В ие правда еще фон показали... а в фоксе - вообще дохляк.
но это уже оффтопик.
0
|
|
| 21.05.2011, 01:09 | |
|
Помогаю со студенческими работами здесь
15
Подсчет количества людей, находящихся в данный момент на странице сайта Есть ли в PHP стандартная функция, возвращающая курс доллара на данный момент? Ограничить кол-во посетителей сайта в текущий момент времени Целесообразность покупки нового ПК в данный момент времени
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|