fire(Event::SYSTEM_RESOURCE_RELEASES)); $request = $this->_request($clientInfo, $server, $data); $router = Snowflake::app()->getRouter(); if (($node = $router->find_path($request)) === null) { return $server->sendto($host, $port, Json::encode(['state' => 404])); } $dispatch = $node->dispatch(); if (!is_string($dispatch)) $dispatch = Json::encode($dispatch); if (empty($dispatch)) { $dispatch = Json::encode(['state' => 0, 'message' => 'ok']); } return $server->sendto($host, $port, $dispatch); } catch (\Throwable $exception) { $this->addError($exception, 'packet'); $response = Json::encode(['state' => 500, 'message' => $exception->getMessage()]); return $server->sendto($host, $port, $response); } } }