entryPoint)) { die("Please set the entry point." . PHP_EOL); } $this->setProtocol(Pack::$packageLengthType, Pack::$packageMaxLength, Pack::$packageLengthOffset, Pack::$packageBodyOffset); } /** * 发送数据 * @param integral $fd 链接文件描述付 * @param string $data * @return boolean */ public function send(int $fd, string $data) { $pack = new Pack($data); $this->server->send($fd, (string) $pack); } /** * * @param Swoole\Server $server * @param int $fd * @param int $reactorId * @param string $pack */ public function onReceive(Swoole\Server $server, int $fd, int $reactorId, string $pack) { $pack = new Pack($pack); $data = $pack->data; $this->handle($fd, $data); } /** * 请求处理函数 * @param int $fd * @param string $pack */ public function handle(int $fd, string $data) { $_SERVER['data'] = $data; try { $ret = include $this->entryPoint; $this->send($fd, $ret); } catch (\Error $e) { //TODO 记录日志 print_r($e); $this->send($fd, "YeeError"); } catch (\Exception $e) { //TODO 记录日志 print_r($e); $this->send($fd, "YeeException"); } } }