У нас есть небольшой скрипт, который использует memcache для отслеживания одновременных сеансов, при этом клиент каждые 10 секунд делает новый запрос на «возобновление» сеанса, а также выводит последнее количество пользователей в сети.
$session = $_GET['session'];
$streamid = $_GET['streamid'];
if(!is_null($session) && !is_null($streamid)) {
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$data = $memcache->get($streamid);
if($data === false) {
$data = array($session => time()+10);
$memcache->add($streamid,$data,0,10);
} else {
$now = time();
$streamCount = count($data);
for($i=0;$i<$streamCount;$i++) {
if($data[$i] > $now) {
unset($data[$i]);
}
}
$data[$session] = time()+10;
}
echo count($data);
} else {
echo 'no session or stream specified';
}