socket_set_block($server_socket);
socket_set_option($server_socket, SOL_SOCKET, SO_LINGER, array('l_onoff' => 1, 'l_linger' => 0));
$droid->notify("Running", "Server is up and running ....");
$droid->view("http://localhost:{$port}/start", "text/html");
$running = true;
do {
    if (($socket = socket_accept($server_socket)) < 0) {
        echo "socket_accept() failed \r\n";
        break;
    }
    $request = new Request();
    $request->setSocket($socket);
    $request->getBuffer();
    $request->parseBuffer();
    $response = new Response();
    $response->setRequest($request);
    if (class_exists($request->getUri())) {
        $handler_name = $request->getUri();
        $handler = new $handler_name();
        $response->setHandler($handler);
    } else {
        // TODO: 404
        echo "cannot find class " . $request->getUri();
    }
    $response->sendData();
    unset($response);
} while ($running);
socket_shutdown($server_socket);
socket_close($server_socket);
try {
    $droid->exit();
Example #2
0
 /**
  * Creates a response for the request.
  * @return Response the response object
  */
 protected function createResponse()
 {
     $response = new Response();
     $response->setRequest($this);
     return $response;
 }