diff --git a/Abstracts/WebSocket.php b/Abstracts/WebSocket.php deleted file mode 100644 index 691ec20..0000000 --- a/Abstracts/WebSocket.php +++ /dev/null @@ -1,140 +0,0 @@ -collector = \Kiri::getDi()->get(DataGrip::class)->get('wss'); - - $this->handler = $this->collector->query('/', 'GET'); - } - - - /** - * @param Request $request - * @param Response $response - * @return void - * @throws Exception - */ - public function onHandshake(Request $request, Response $response): void - { - // TODO: Implement onHandshake() method. - $secWebSocketKey = $request->header['sec-websocket-key']; - $patten = '#^[+/0-9A-Za-z]{21}[AQgw]==$#'; - if (0 === preg_match($patten, $secWebSocketKey) || 16 !== strlen(base64_decode($secWebSocketKey))) { - throw new Exception('protocol error.', 500); - } - $key = base64_encode(sha1($request->header['sec-websocket-key'] . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', TRUE)); - $headers = [ - 'Upgrade' => 'websocket', - 'Connection' => 'Upgrade', - 'Sec-websocket-Accept' => $key, - 'Sec-websocket-Version' => '13', - ]; - if (isset($request->header['sec-websocket-protocol'])) { - $explode = explode(',', $request->header['sec-websocket-protocol']); - $headers['Sec-websocket-Protocol'] = $explode[0]; - } - foreach ($headers as $key => $val) { - $response->setHeader($key, $val); - } - if ($this->handler->implement(OnHandshakeInterface::class)) { - $handler = $this->handler->getClass(); - - call_user_func([$handler, 'onHandshake'], $request, $response); - } else { - $response->setStatusCode(101); - $response->end(); - } - } - - - /** - * @param Server $server - * @param Frame $frame - * @return void - */ - public function onMessage(Server $server, Frame $frame): void - { - // TODO: Implement onMessage() method. - if (!$this->handler->implement(OnMessageInterface::class)) { - return; - } - - $handler = $this->handler->getClass(); - - call_user_func([$handler, 'onMessage'], $server, $frame); - } - - - /** - * @param \Swoole\WebSocket\Server $server - * @param int $fd - * @return void - */ - public function onDisconnect(\Swoole\WebSocket\Server $server, int $fd): void - { - // TODO: Implement onDisconnect() method. - if (!$this->handler->implement(OnDisconnectInterface::class)) { - return; - } - - $handler = $this->handler->getClass(); - - call_user_func([$handler, 'onDisconnect'], $server, $fd); - } - - - /** - * @param Server $server - * @param int $fd - * @return void - */ - public function onClose(Server $server, int $fd): void - { - // TODO: Implement onDisconnect() method. - if (!$this->handler->implement(OnCloseInterface::class)) { - return; - } - - $handler = $this->handler->getClass(); - - call_user_func([$handler, 'onClose'], $server, $fd); - } - -} diff --git a/Broadcast/Broadcast.php b/Broadcast/Broadcast.php deleted file mode 100644 index 8d4b48b..0000000 --- a/Broadcast/Broadcast.php +++ /dev/null @@ -1,41 +0,0 @@ -get(ProcessManager::class)->getProcesses(); - foreach ($processes as $process) { - $process->write($message); - } - - $server = $di->get(ServerInterface::class); - - $total = $server->setting['worker_num'] + $server->setting['task_worker_num']; - for ($i = 0; $i < $total; $i++) { - if ($i == env('environmental_workerId')) { - continue; - } - $server->sendMessage($message, $i); - } - } - - -} diff --git a/Broadcast/Message.php b/Broadcast/Message.php deleted file mode 100644 index 640ea26..0000000 --- a/Broadcast/Message.php +++ /dev/null @@ -1,34 +0,0 @@ -get(LoggerInterface::class); - $logger->debug(env('environmental') . '::' . env('environmental_workerId', 0) . '::' . $this->data); - } - -} diff --git a/Broadcast/OnBroadcastInterface.php b/Broadcast/OnBroadcastInterface.php deleted file mode 100644 index de2103f..0000000 --- a/Broadcast/OnBroadcastInterface.php +++ /dev/null @@ -1,14 +0,0 @@ -class = \config('server.type', AsyncServer::class); + $this->class = \config('server.type', CoroutineServer::class); } /** * @throws ReflectionException */ - private function manager(): AsyncServer + private function manager(): CoroutineServer { return Kiri::getDi()->get($this->class); }