блогер
Регистрация: Jan 2011
Сообщений: 1,162
|
Как то тоже делал подобную штуку. Насколько я понял, нет достоверного способа определить когда пользователь закрыл браузер, и даже, когда перешёл на другую вкладку поддерживается только, кажется, ФФ, в JS есть методы окончания сессии, но они не успевают срабатывать до закрытия браузера. Основная политика такая: сервер некоторое время (кажется 10мин.) держит сессию пользователя активной, если за это время страница ни разу не послала запрос сервер закрывает сессию, и если нет параллельного наблюдения в куках, то в следующий запрос с той же страницы уже считается новой сессией.
Решается, да, в основном пингом, через ajax, через произвольные промежутки. Где то видел скрипт на TCL, автор утверждал, что при одновременном нахождении в чате 150 чел. потребляемые ресурсы памяти будут в пределах, кажется 40Мб, за счёт того, что TCL может демона подвесить на сервере. Но TCL обычно не установлен, об этом надо просить админов.
|