/** * @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; } } }
/** * @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); } }