Example #1
0
 public function __construct(LoopInterface $loop, ProxyWebSocketController $wsController)
 {
     $ws = new \Ratchet\WebSocket\WsServer($wsController);
     $ws->disableVersion(0);
     $this->socket = new \React\Socket\Server($loop);
     $wsServer = new \Ratchet\Server\IoServer(new \Ratchet\Http\HttpServer($ws), $this->socket);
 }
Example #2
0
use Blackjack\Server\Server;
use Blackjack\Server\WebSocketManager;
$container = new Pimple\Container(['socket_server_settings' => ['max_connections' => 500]]);
$container['loop'] = function () {
    $loop = \React\EventLoop\Factory::create();
    return $loop;
};
$container['logger'] = function () {
    return new \Blackjack\ConsoleLogger();
};
$container['table_manager'] = function ($container) {
    return new \Blackjack\Server\TableManager($container['logger'], new \Blackjack\Server\TableLoopFactory($container), $container['player_factory']);
};
$container['table_loop_factory'] = new \Blackjack\Server\TableLoopFactory($container);
$container['player_factory'] = new \Blackjack\Server\Game\PlayerFactory($container);
$container['serializer'] = new \Blackjack\Server\Message\Serializer();
$container['deserializer'] = new \Blackjack\Server\Message\Deserializer();
$container['websocket_manager'] = function ($container) {
    return new WebSocketManager($container['table_manager'], $container['logger']);
};
$container['connection_manager'] = function ($container) {
    return new ConnectionManager($container['loop'], $container['serializer'], $container['deserializer'], $container['table_manager'], $container['websocket_manager'], $container['player_factory'], $container['logger'], $container['socket_server_settings']['max_connections']);
};
$container['socket_server'] = function ($container) {
    return new Server($container['loop'], $container['connection_manager'], $container['logger']);
};
$container['websocket_server'] = function ($container) {
    $server = new \Ratchet\WebSocket\WsServer($container['websocket_manager']);
    $server->disableVersion(0);
    return $server;
};
<?php

require dirname(dirname(dirname(__DIR__))) . '/vendor/autoload.php';
$port = $argc > 1 ? $argv[1] : 8000;
$impl = sprintf('React\\EventLoop\\%sLoop', $argc > 2 ? $argv[2] : 'StreamSelect');
$loop = new $impl();
$sock = new React\Socket\Server($loop);
$web = new Ratchet\WebSocket\WsServer(new Ratchet\Server\EchoServer());
$app = new Ratchet\Http\HttpServer($web);
$web->setEncodingChecks(false);
$sock->listen($port, '0.0.0.0');
$server = new Ratchet\Server\IoServer($app, $sock, $loop);
$server->run();
Example #4
0
<?php

require dirname(dirname(dirname(__DIR__))) . '/vendor/autoload.php';
$loop = new React\EventLoop\StreamSelectLoop();
$sock = new React\Socket\Server($loop);
$app = new Ratchet\WebSocket\WsServer(new Ratchet\Tests\AbFuzzyServer());
$app->setEncodingChecks(false);
$port = $argc > 1 ? $argv[1] : 8000;
$sock->listen($port, '0.0.0.0');
$server = new Ratchet\Server\IoServer($app, $sock, $loop);
$server->run();