This commit is contained in:
2020-11-05 18:35:38 +08:00
parent d0b9b19fb4
commit 66ead1e77f
2 changed files with 9 additions and 7 deletions
+4 -2
View File
@@ -45,8 +45,10 @@ class OnPacket extends Callback
} }
return $server->sendto($clientInfo['address'], $clientInfo['port'], DataResolve::pack($this->pack, $data)); return $server->sendto($clientInfo['address'], $clientInfo['port'], DataResolve::pack($this->pack, $data));
} catch (\Throwable $exception) { } catch (\Throwable $exception) {
$pack = DataResolve::pack($this->pack, ['message' => $exception->getMessage()]); $response['message'] = $exception->getMessage();
return $server->sendto($clientInfo['address'], $clientInfo['port'], $pack); $response['state'] = 500;
$response = DataResolve::pack($this->pack, $response);
return $server->sendto($clientInfo['address'], $clientInfo['port'], $response);
} finally { } finally {
$event = Snowflake::app()->event; $event = Snowflake::app()->event;
$event->trigger(Event::SERVER_WORKER_STOP); $event->trigger(Event::SERVER_WORKER_STOP);
+5 -5
View File
@@ -39,16 +39,16 @@ class OnReceive extends Callback
public function onHandler(\Swoole\Server $server, int $fd, int $reID, string $data) public function onHandler(\Swoole\Server $server, int $fd, int $reID, string $data)
{ {
try { try {
$client = [$fd];
$data = DataResolve::unpack($this->unpack, null, null, $data); $data = DataResolve::unpack($this->unpack, null, null, $data);
if (empty($data)) { if (empty($data)) {
throw new Exception('Format error.'); throw new Exception('Format error.');
} }
$client[] = DataResolve::pack($this->pack, $data); return $server->send($fd, DataResolve::pack($this->pack, $data));
return $server->send(...$client);
} catch (\Throwable $exception) { } catch (\Throwable $exception) {
$client[] = DataResolve::pack($this->pack, ['message' => $exception->getMessage()]); $response['message'] = $exception->getMessage();
return $server->send(...$client); $response['state'] = 500;
$response = DataResolve::pack($this->pack, $response);
return $server->send($fd, $response);
} finally { } finally {
$event = Snowflake::app()->event; $event = Snowflake::app()->event;
$event->trigger(Event::SERVER_WORKER_STOP); $event->trigger(Event::SERVER_WORKER_STOP);