Beispiel #1
0
require_once '../../websocket-php/lib/Exception.php';
require_once '../../websocket-php/lib/ConnectionException.php';
use WebSocket\Server;
define('TIMEOUT', 200);
// Setting timeout to 200 seconds to make time for all tests and manual runs.
$server = new Server(array('timeout' => TIMEOUT));
echo "Server started with timeout: ", TIMEOUT, "ms — at ", date("c");
echo "\n", "port: ", $server->getPort(), "\n";
while ($connection = $server->accept()) {
    $test_id = $server->getPath();
    $test_id = substr($test_id, 1);
    try {
        while (1) {
            $message = $server->receive();
            echo "Received {$message}\n\n";
            if ($message === 'exit') {
                echo microtime(true), " Client told me to quit.  Bye bye.\n";
                echo microtime(true), " Close response: ", $server->close(), "\n";
                echo microtime(true), " Close status: ", $server->getCloseStatus(), "\n";
                exit;
            } elseif ($auth = $server->getHeader('Authorization')) {
                $server->send("{$auth} - {$message}", 'text', false);
            } else {
                $server->send($message, 'text', false);
            }
        }
    } catch (WebSocket\ConnectionException $e) {
        echo "\n", date("c"), " Client died: {$e}\n";
    }
}
exit;