This commit is contained in:
Marcel Pociot
2020-04-29 16:49:33 +02:00
parent c2084e6be6
commit 6cf206e0a2
35 changed files with 566 additions and 215 deletions

40
app/Http/App.php Normal file
View File

@@ -0,0 +1,40 @@
<?php
namespace App\Http;
use Ratchet\Http\Router;
use Ratchet\Server\IoServer;
use React\EventLoop\LoopInterface;
use React\Socket\Server as Reactor;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
class App extends \Ratchet\App
{
/** @var Server */
protected $socket;
public function __construct($httpHost, $port, $address, LoopInterface $loop)
{
$this->httpHost = $httpHost;
$this->port = $port;
$this->socket = new Reactor($address.':'.$port, $loop);
$this->routes = new RouteCollection;
$urlMatcher = new UrlMatcher($this->routes, new RequestContext);
$router = new Router($urlMatcher);
$httpServer = new Server($router);
$this->_server = new IoServer($httpServer, $this->socket, $loop);
}
public function close()
{
$this->socket->close();
}
}