<?php

/*
* copyright Ryan Day 2010
* http://ryanday.org
* dual licensed gpl and mit
*/
error_reporting(E_ALL);
define('SERVER_ROOT', dirname(__FILE__));
define('MODULE_PATH', SERVER_ROOT . '/modules');
require SERVER_ROOT . '/lib/server.php';
require SERVER_ROOT . '/lib/response.php';
server::init($sockets, $clients);
if (($listen = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    die("socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n");
}
socket_set_option($listen, SOL_SOCKET, SO_REUSEADDR, 1);
if (socket_bind($listen, server::config('address'), server::config('port')) === false) {
    die("socket_bind() failed: reason: " . socket_strerror(socket_last_error($listen)) . "\n");
}
if (socket_listen($listen, 5) === false) {
    die(" socket_listen() failed: reason: " . socket_strerror(socket_last_error($listen)) . "\n");
}
$sockets[] = $listen;
$clients[] = null;
do {
    $read = $sockets;
    $write = null;
    $except = null;
    $r = socket_select($read, $write, $except, null);
    if ($r === false) {