Доброго времени суток.
Пишу чат. Вопрос в следующем: как отслеживать молчащих людей определённое время(напрмер пол часа) и если он молчит, то отключать. И как отследить людей, которые покинули чат(закрыли клиент)?
Происходит ли от молчащего человека сетевая активность - т.е. он обращается к страницам чата или нет? Если нет, то он ничем не отличается от ушедшего человека. Отследить момент выключения браузера средствами PHP невозможно. Обычно создают таблицу (в базе или файле) из пользователей и времени их последнего посещения - при каждом обращении время последнего посещение подправляется на текущее. Поэтому если посетитель обращается часто к страницам разница между текущим времнем и его отметками не превышает 10 минут, те у кого разница составляет более 30 минут вероятно уже ушли. Cron или привязкой к странице запускается скрипт, который обходит таблицу и удаляет посетителей, которые не посещали страницы более полу часа.