diff --git a/kiri-websocket-server/Contract/OnCloseInterface.php b/kiri-websocket-server/Contract/OnCloseInterface.php index 253c8385..ee001924 100644 --- a/kiri-websocket-server/Contract/OnCloseInterface.php +++ b/kiri-websocket-server/Contract/OnCloseInterface.php @@ -3,20 +3,15 @@ namespace Kiri\Websocket\Contract; -use Swoole\WebSocket\Frame; -use Swoole\WebSocket\Server; -use Swoole\Coroutine\Http\Server as CoroutineServer; - interface OnCloseInterface { /** - * @param Server|CoroutineServer $server * @param int $fd * @return void */ - public function onClose(Server|CoroutineServer $server, int $fd): void; + public function OnClose(int $fd): void; } diff --git a/kiri-websocket-server/Contract/OnDisconnectInterface.php b/kiri-websocket-server/Contract/OnDisconnectInterface.php new file mode 100644 index 00000000..45b39043 --- /dev/null +++ b/kiri-websocket-server/Contract/OnDisconnectInterface.php @@ -0,0 +1,15 @@ +withContent('Page not found.')->withStatus(404); } else { - $psrResponse = $this->dispatcher->with($handler)->handle($psrRequest); - - $executor = $handler->callback; - $response->upgrade(); - if ($handler instanceof OnHandshakeInterface) { - $statusCode = $handler->onHandshake($request, $response); - $response->setStatusCode($statusCode); - $response->write("connect ok."); - } - if ($executor instanceof OnOpenInterface) { - $executor->onOpen($this->server, $request); - } - while (true) { - $frame = $response->recv(); - if ($frame === false || $frame instanceof CloseFrame || $frame === '') { - $handler->onClose($this->server, $response->fd); - break; - } - $handler->onMessage($this->server, $frame); - } +// $psrResponse = $this->dispatcher->with($handler)->handle($psrRequest); +// +// $executor = $handler->callback; +// $response->upgrade(); +// if ($handler instanceof OnHandshakeInterface) { +// $statusCode = $handler->OnHandshake($request, $response); +// $response->setStatusCode($statusCode); +// $response->write("connect ok."); +// } +// if ($executor instanceof OnOpenInterface) { +// $executor->onOpen($this->server, $request); +// } +// while (true) { +// $frame = $response->recv(); +// if ($frame === false || $frame instanceof CloseFrame || $frame === '') { +// $handler->onClose($this->server, $response->fd); +// break; +// } +// $handler->onMessage($this->server, $frame); +// } } } catch (\Throwable $throwable) { $psrResponse = $this->exception->emit($throwable, di(CResponse::class)); @@ -175,44 +173,39 @@ class Server extends Component /** - * @param WsServer|Coroutine\Http\Server $server * @param Frame $frame * @return void */ - public function onMessage(WsServer|WhServer $server, Frame $frame): void + public function OnMessage(Frame $frame): void { - $handler = $this->handler->callback; - if ($handler instanceof OnMessageInterface) { - $handler->onMessage($server, $frame); - } } /** - * @param WsServer|Coroutine\Http\Server $server * @param int $fd * @return void */ - public function onClose(WsServer|WhServer $server, int $fd): void + public function OnClose(int $fd): void { - $handler = $this->handler->callback; - if ($handler instanceof OnCloseInterface) { - $handler->onClose($server, $fd); - } } /** - * @param WsServer|WhServer $server + * @param int $fd + * @return void + */ + public function OnDisconnect(int $fd): void + { + // TODO: Implement OnDisconnect() method. + } + + + /** * @param Request $request * @return void */ - public function onOpen(WsServer|WhServer $server, Request $request): void + public function OnOpen(Request $request): void { - $handler = $this->handler->callback; - if ($handler instanceof OnOpenInterface) { - $handler->onOpen($server, $request); - } }