opcode === 0x08) { return; } $clientInfo = $server->getClientInfo($frame->fd); $event = Snowflake::app()->getEvent(); if (!$event->exists(($name = $this->getName($clientInfo)))) { return; } $event->trigger($name, [$frame, $server]); } catch (\Throwable $exception) { $this->addError($exception, 'websocket'); if (!swoole()->exist($frame->fd)) { return; } $server->send($frame->fd, $exception->getMessage()); } } /** * @param $clientInfo * @return string */ private function getName($clientInfo): string { return 'listen ' . $clientInfo['server_port'] . ' ' . Event::SERVER_MESSAGE; } }