|
|
|
| ребят делаю чат и думал как бы сделать сессии и т.д.
чтобы пользователя который нечего не делал минут 15 выкидывало и показывало нужную страницу и т.д.
обновление сообщений идет каждую секунду аяксом
это уже думаю делает нагрузку на хостера
потом думал делать проверку списка кто в чате также аяксом через каждую минуту, но думаю это тоже не лучший вариант
как можна другим методом все это сделать?
думал сессию сделат ьв кукисы но в этом не понимаю особо пробовал в инте почитать разобратся что к чему но нефига не понял | |
|
|
|
|
|
|
|
для: TavRoX
(26.03.2011 в 13:44)
| | Нужны счетчики событий - переход по ссылкам, размещение ответов, если ответов 15 минут нет - закрывайте соединение с клиентом, переправляя его на вход чата. По сути вам нужна система OnLine-пользователей. Можно начать отталкиваться от следующего скрипта http://softtime.ru/scripts/online.php. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 13:47)
| | я вот какраз это и делал
начинал мыслить атк
юзверь зашел в чат загрузилась страничка и сразу пошла запись в базу с временем его айдишником, так сказать точка старта
обновлять это время думал когда ктото скинул сообщение,
а вот проверять думал запросом через аякс, типа захват времени которое щас сравнивать с временем которое там если разница в 15 минут перенаправить куда либо
вообщем щас буду смотреть по ссылке и попробую все в кучу собрать уже и затестировать
почитал впринципе то чт оя и хочу сделать
но возник вопрос
там ест ьаткой кусочек кода, как он удалит запись из базы если пользовател ьне обраается к стрраничке ? я вот это никак понять еще не могу,
ведь если он обратится к этой странице то пойдет обновление времени и все
поясните мне дураку, а то я чет запутался с этим
<?
$query = "DELETE FROM session
WHERE putdate < NOW() - INTERVAL '20' MINUTE";
mysql_query($query);
|
| |
|
|
|
|
|
|
|
для: TavRoX
(26.03.2011 в 13:52)
| | putdate - это время, которое обновляется в результате входа и ответов, если последние такое событие произошло 15 минут назад (здесь в запросе 20), то удаляем такого пользователя из таблицы. Вам скорее всего придется их не сразу удалять (так как у вас чат), а хранить подольше, чтобы если человек ушел из-за компьютера на 20 минут, система успела отправить бы ему перенаправление (т.е. она должна регулярно выбирать SELECT-ом пользователей по условию, которое приведено в запросе выше)... а удалять можно скажем через 1 час, т.е. вместо INTERVAL '20' MINUTE в DELETE можно написать INTERVAL '1' HOUR | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 14:04)
| | немножко не правильно поняли меня
то что в запрсое написано то ясно)
имею ввиду как он в действие приводится,
а если ставить час то чат продолжить маслать запросы к серверу через аякс | |
|
|
|
|
|
|
|
для: TavRoX
(26.03.2011 в 14:08)
| | Вам лучше вешать его на cron - меньше лишней нагрузки будет. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 14:12)
| | а можешь расказать поподробнее об этом, я пока загуглю | |
|
|
|
|
|
|
|
для: TavRoX
(26.03.2011 в 14:15)
| | Это планировщик задач под UNIX-подобные операционные системы, возможно вас заинтересует следующая тема по ссылке http://softtime.ru/forum/read.php?id_forum=1&id_theme=4321. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 14:23)
| | а он с хостингом работает? или только на своем серваке? | |
|
|
|
|
|
|
|
для: TavRoX
(26.03.2011 в 14:27)
| | На большинстве хостингов он клиентам доступен, хотя можно найти и такие, где доступа нет (а в UNIX/Linux/FreeBSD он есть всегда, без него они работать не смогут - вопрос лишь в том, разрешено вам для него задания составлять или нет). | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 14:33)
| | спс
щас попробую по старому плану делать
если что то крон попробуем | |
|
|
|