From 66ead1e77f9a7de2d86f296f1c8827c348b74b6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Thu, 5 Nov 2020 18:35:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Events/OnPacket.php | 6 ++++-- HttpServer/Events/OnReceive.php | 10 +++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/HttpServer/Events/OnPacket.php b/HttpServer/Events/OnPacket.php index 0e7981f7..5361ebbf 100644 --- a/HttpServer/Events/OnPacket.php +++ b/HttpServer/Events/OnPacket.php @@ -45,8 +45,10 @@ class OnPacket extends Callback } return $server->sendto($clientInfo['address'], $clientInfo['port'], DataResolve::pack($this->pack, $data)); } catch (\Throwable $exception) { - $pack = DataResolve::pack($this->pack, ['message' => $exception->getMessage()]); - return $server->sendto($clientInfo['address'], $clientInfo['port'], $pack); + $response['message'] = $exception->getMessage(); + $response['state'] = 500; + $response = DataResolve::pack($this->pack, $response); + return $server->sendto($clientInfo['address'], $clientInfo['port'], $response); } finally { $event = Snowflake::app()->event; $event->trigger(Event::SERVER_WORKER_STOP); diff --git a/HttpServer/Events/OnReceive.php b/HttpServer/Events/OnReceive.php index a348afd7..f93c4636 100644 --- a/HttpServer/Events/OnReceive.php +++ b/HttpServer/Events/OnReceive.php @@ -39,16 +39,16 @@ class OnReceive extends Callback public function onHandler(\Swoole\Server $server, int $fd, int $reID, string $data) { try { - $client = [$fd]; $data = DataResolve::unpack($this->unpack, null, null, $data); if (empty($data)) { throw new Exception('Format error.'); } - $client[] = DataResolve::pack($this->pack, $data); - return $server->send(...$client); + return $server->send($fd, DataResolve::pack($this->pack, $data)); } catch (\Throwable $exception) { - $client[] = DataResolve::pack($this->pack, ['message' => $exception->getMessage()]); - return $server->send(...$client); + $response['message'] = $exception->getMessage(); + $response['state'] = 500; + $response = DataResolve::pack($this->pack, $response); + return $server->send($fd, $response); } finally { $event = Snowflake::app()->event; $event->trigger(Event::SERVER_WORKER_STOP);