Beispiel #1
0
    function signalHandler()
    {
        global $ctrlC, $EVENTS;
        $ctrlC = true;
        $EVENTS->error('Ctrl+C caught. Exiting');
    }
    pcntl_signal(SIGINT, 'signalHandler');
}
// сюда будем писать инфу, выводимую на экран
$rows = array();
while (!$ctrlC) {
    $check_inet = time() - $last_check > 10;
    // every N sec
    try {
        if ($check_inet) {
            $wwwOK = $EVENTS->checkWWW($wwwChanged);
            $last_check = time();
            if ($wwwChanged) {
                $pool->notify($wwwOK ? 'Интернет восстановлен' : 'Интернет упал');
            }
        }
        // получаем статистику по новым клиентам, отвалившимся клиентам и запросам на запуск трансляций
        if ($new = $pool->track4new()) {
            foreach ($new['start'] as $peer => $req) {
                // info - array('pid' => $pid, 'name' => $m[2], 'type' => 'trid|pid', 'client' => StreamClient);
                try {
                    $client = $req->getClient();
                    switch ($req->getType()) {
                        case 'file':
                        case 'pid':
                        case 'trid':