示例#1
0
文件: TcpServer.php 项目: vucms/aha
 /**
  * @brief 请求初始化
  * @param \swoole_server $server
  * @param  $fd
  * @param  $fromId
  * @param  $data
  */
 public function onReceive(\swoole_server $server, $fd, $fromId, $data)
 {
     parent::onReceive($server, $fd, $fromId, $data);
     try {
         $arrRequest = json_decode($data, true);
         $cmd = isset($arrRequest['cmd']) ? $arrRequest['cmd'] : '';
         $router = new \Aha\Mvc\Router($this->_objAha, $cmd, '-');
         $dispatcher = new \Aha\Mvc\Dispatcher($this->_objAha, 'tcp');
         $dispatcher->setTcpClientFd($fd)->setTcpFromId($fromId)->setTcpPackage($data);
         $dispatcher->dispatch($router);
     } catch (\Exception $ex) {
         $message = '[onReceive_callBack_excaption] [code]' . $ex->getCode() . ' [message]' . $ex->getMessage() . '[file]' . $ex->getFile() . '[line]' . $ex->getLine() . PHP_EOL;
         switch ($ex->getCode()) {
             case AHA_ROUTER_EXCEPTION:
                 $server->send($fd, "[status] 404 {$message}");
                 break;
             default:
                 $server->send($fd, "[status] 500 {$message}");
                 break;
         }
     }
 }
示例#2
0
文件: HttpServer.php 项目: vucms/aha
 /**
  * @brief 请求初始化
  * @param \swoole_http_request $request
  * @param \swoole_http_response $response
  */
 public function onRequest(\swoole_http_request $request, \swoole_http_response $response)
 {
     parent::onRequest($request, $response);
     try {
         $uri = isset($request->server['request_uri']) ? $request->server['request_uri'] : '';
         $router = new \Aha\Mvc\Router($this->_objAha, $uri);
         $dispatcher = new \Aha\Mvc\Dispatcher($this->_objAha);
         $dispatcher->setRequest($request)->setResponse($response);
         $dispatcher->dispatch($router);
     } catch (\Exception $ex) {
         $message = '[onRequest_callBack_excaption] [code]' . $ex->getCode() . ' [message]' . $ex->getMessage() . '[file]' . $ex->getFile() . '[line]' . $ex->getLine() . PHP_EOL;
         switch ($ex->getCode()) {
             case AHA_ROUTER_EXCEPTION:
                 $response->status(404);
                 break;
             default:
                 $response->status(500);
                 break;
         }
         echo $message;
         $response->end($message);
     }
 }