From 515d061cae4f96a23e720db24a260a665ac1fd6b Mon Sep 17 00:00:00 2001 From: GitProtogen Date: Thu, 5 Mar 2026 12:08:57 +0100 Subject: [PATCH] login returns --- .idea/.gitignore | 8 +++++ .idea/modules.xml | 8 +++++ .idea/php-com-cen.iml | 29 ++++++++++++++++ .idea/php.xml | 45 +++++++++++++++++++++++++ .idea/vcs.xml | 6 ++++ bin/{server.php => WebSocketServer.php} | 27 +++++++++++---- public/index.php | 4 +-- src/Http/LoginController.php | 35 +++++++++++++++++++ src/Http/RegisterController.php | 35 +++++++++++++++++++ 9 files changed, 188 insertions(+), 9 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/modules.xml create mode 100644 .idea/php-com-cen.iml create mode 100644 .idea/php.xml create mode 100644 .idea/vcs.xml rename bin/{server.php => WebSocketServer.php} (60%) create mode 100644 src/Http/LoginController.php create mode 100644 src/Http/RegisterController.php diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..68fb876 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php-com-cen.iml b/.idea/php-com-cen.iml new file mode 100644 index 0000000..7dd7874 --- /dev/null +++ b/.idea/php-com-cen.iml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 0000000..7e8212c --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bin/server.php b/bin/WebSocketServer.php similarity index 60% rename from bin/server.php rename to bin/WebSocketServer.php index 3082ab0..ea68ee9 100644 --- a/bin/server.php +++ b/bin/WebSocketServer.php @@ -1,14 +1,21 @@ connectedUsers[] = $conn; - $conn->send("Connected users: " . count($this->connectedUsers)); + $conn->send("Connected users: " . count($this->connectedUsers) . " (One is you)"); echo "New connection: {$conn->resourceId}\n"; } public function onMessage(ConnectionInterface $from, $msg): void { - $from->send("Resending: $msg"); foreach ($this->connectedUsers as $conn) { if ($from->resourceId !== $conn->resourceId) { $conn->send("From user " . $from->resourceId . ": " . $msg); } } + $from->send("Message sent to others"); } public function onClose(ConnectionInterface $conn): void @@ -51,11 +58,17 @@ class TestServer implements MessageComponentInterface } } +$routes = new RouteCollection(); +$routes->add("login", new Route("/login", ["_controller" => new LoginController()])); +$routes->add("register", new Route("/register", ["_controller" => new RegisterController()])); +$routes->add("ws", new Route("/ws", ["_controller" => new WsServer(new WebSocketServer())])); + $server = IoServer::factory( - new HttpServer(new WsServer(new TestServer())), - 8080 + new HttpServer(new Router(new UrlMatcher($routes, new RequestContext()))), + 8080, + "0.0.0.0" ); -echo "WebSocket server running on ws://localhost:8080\n"; +echo "Server running on http://localhost:8080\n"; $server->run(); \ No newline at end of file diff --git a/public/index.php b/public/index.php index d5ddd76..172f1ce 100644 --- a/public/index.php +++ b/public/index.php @@ -10,7 +10,7 @@ $html->content .= " - Ratchet Hello World + Chat

WebSocket Test

@@ -21,7 +21,7 @@ $html->content .= "