login returns

This commit is contained in:
GitProtogen
2026-03-05 12:08:57 +01:00
parent 0f3b5ed61a
commit 515d061cae
9 changed files with 188 additions and 9 deletions
+20 -7
View File
@@ -1,14 +1,21 @@
<?php
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . "/../vendor/autoload.php";
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\Http\Router;
use Ratchet\WebSocket\WsServer;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use ComCen\Http\LoginController;
use ComCen\Http\RegisterController;
class TestServer implements MessageComponentInterface
class WebSocketServer implements MessageComponentInterface
{
private array $connectedUsers = [];
@@ -24,18 +31,18 @@ class TestServer implements MessageComponentInterface
public function onOpen(ConnectionInterface $conn): void
{
$this->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();