Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как отслеживать активность в чате?
 
 автор: TavRoX   (26.03.2011 в 13:44)   письмо автору
 
 

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

  Ответить  
 
 автор: cheops   (26.03.2011 в 13:47)   письмо автору
 
   для: TavRoX   (26.03.2011 в 13:44)
 

Нужны счетчики событий - переход по ссылкам, размещение ответов, если ответов 15 минут нет - закрывайте соединение с клиентом, переправляя его на вход чата. По сути вам нужна система OnLine-пользователей. Можно начать отталкиваться от следующего скрипта http://softtime.ru/scripts/online.php.

  Ответить  
 
 автор: TavRoX   (26.03.2011 в 13:52)   письмо автору
 
   для: cheops   (26.03.2011 в 13:47)
 

я вот какраз это и делал
начинал мыслить атк
юзверь зашел в чат загрузилась страничка и сразу пошла запись в базу с временем его айдишником, так сказать точка старта
обновлять это время думал когда ктото скинул сообщение,
а вот проверять думал запросом через аякс, типа захват времени которое щас сравнивать с временем которое там если разница в 15 минут перенаправить куда либо
вообщем щас буду смотреть по ссылке и попробую все в кучу собрать уже и затестировать
почитал впринципе то чт оя и хочу сделать
но возник вопрос
там ест ьаткой кусочек кода, как он удалит запись из базы если пользовател ьне обраается к стрраничке ? я вот это никак понять еще не могу,
ведь если он обратится к этой странице то пойдет обновление времени и все
поясните мне дураку, а то я чет запутался с этим

<?
  $query 
"DELETE FROM session 
            WHERE putdate < NOW() -  INTERVAL '20' MINUTE"

  
mysql_query($query); 

  Ответить  
 
 автор: cheops   (26.03.2011 в 14:04)   письмо автору
 
   для: TavRoX   (26.03.2011 в 13:52)
 

putdate - это время, которое обновляется в результате входа и ответов, если последние такое событие произошло 15 минут назад (здесь в запросе 20), то удаляем такого пользователя из таблицы. Вам скорее всего придется их не сразу удалять (так как у вас чат), а хранить подольше, чтобы если человек ушел из-за компьютера на 20 минут, система успела отправить бы ему перенаправление (т.е. она должна регулярно выбирать SELECT-ом пользователей по условию, которое приведено в запросе выше)... а удалять можно скажем через 1 час, т.е. вместо INTERVAL '20' MINUTE в DELETE можно написать INTERVAL '1' HOUR

  Ответить  
 
 автор: TavRoX   (26.03.2011 в 14:08)   письмо автору
 
   для: cheops   (26.03.2011 в 14:04)
 

немножко не правильно поняли меня
то что в запрсое написано то ясно)
имею ввиду как он в действие приводится,

а если ставить час то чат продолжить маслать запросы к серверу через аякс

  Ответить  
 
 автор: cheops   (26.03.2011 в 14:12)   письмо автору
 
   для: TavRoX   (26.03.2011 в 14:08)
 

Вам лучше вешать его на cron - меньше лишней нагрузки будет.

  Ответить  
 
 автор: TavRoX   (26.03.2011 в 14:15)   письмо автору
 
   для: cheops   (26.03.2011 в 14:12)
 

а можешь расказать поподробнее об этом, я пока загуглю

  Ответить  
 
 автор: cheops   (26.03.2011 в 14:23)   письмо автору
 
   для: TavRoX   (26.03.2011 в 14:15)
 

Это планировщик задач под UNIX-подобные операционные системы, возможно вас заинтересует следующая тема по ссылке http://softtime.ru/forum/read.php?id_forum=1&id_theme=4321.

  Ответить  
 
 автор: TavRoX   (26.03.2011 в 14:27)   письмо автору
 
   для: cheops   (26.03.2011 в 14:23)
 

а он с хостингом работает? или только на своем серваке?

  Ответить  
 
 автор: cheops   (26.03.2011 в 14:33)   письмо автору
 
   для: TavRoX   (26.03.2011 в 14:27)
 

На большинстве хостингов он клиентам доступен, хотя можно найти и такие, где доступа нет (а в UNIX/Linux/FreeBSD он есть всегда, без него они работать не смогут - вопрос лишь в том, разрешено вам для него задания составлять или нет).

  Ответить  
 
 автор: TavRoX   (26.03.2011 в 14:44)   письмо автору
 
   для: cheops   (26.03.2011 в 14:33)
 

спс
щас попробую по старому плану делать
если что то крон попробуем

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования