Показать сообщение отдельно
Старый 25.04.2011, 01:25
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 3  
Ответить с цитированием
fish_r
 
Аватар для fish_r

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

Решается, да, в основном пингом, через ajax, через произвольные промежутки. Где то видел скрипт на TCL, автор утверждал, что при одновременном нахождении в чате 150 чел. потребляемые ресурсы памяти будут в пределах, кажется 40Мб, за счёт того, что TCL может демона подвесить на сервере. Но TCL обычно не установлен, об этом надо просить админов.